Was ist ASCII?
ASCII steht für American Standard Code for Information Interchange (Amerikanischer Standard-Code für den Informationsaustausch). Es ist ein System, das jedem Zeichen – Buchstaben, Ziffern, Satzzeichen und Sonderzeichen – eine eindeutige Zahl zuordnet.
Da Computer nur mit Zahlen (in Binärform) arbeiten können, brauchen wir einen solchen Standard, damit alle Computer Text auf dieselbe Weise verstehen.
Wie funktioniert ASCII?
In ASCII wird jedes Zeichen durch eine Zahl zwischen 0 und 127 dargestellt, die mit 7 Bits gespeichert wird.
| Zeichen | ASCII-Dezimal | ASCII-Binär |
|---|---|---|
| A | 65 | 1000001 |
| B | 66 | 1000010 |
| a | 97 | 1100001 |
| 0 | 48 | 0110000 |
| Leerzeichen | 32 | 0100000 |
Beachte, dass Großbuchstaben und Kleinbuchstaben verschiedene ASCII-Codes haben! 'A' ist 65, aber 'a' ist 97. Das ist ein Unterschied von genau 32 – oder im Binärsystem ein einziges Bit.
ASCII in Python verwenden
Python macht es einfach, mit ASCII-Codes zu arbeiten:
# ASCII-Code eines Zeichens ermitteln
print(ord('A')) # Ausgabe: 65
print(ord('a')) # Ausgabe: 97
# Zeichen aus einem ASCII-Code erzeugen
print(chr(65)) # Ausgabe: A
print(chr(72)) # Ausgabe: H
# Eine ganze Nachricht kodieren
nachricht = "Hallo"
for buchstabe in nachricht:
print(buchstabe, "=", ord(buchstabe))
Grenzen von ASCII und Unicode
ASCII wurde in den 1960er Jahren für die englische Sprache entwickelt. Es hat deshalb keine Zeichen für:
- Umlaute wie ä, ö, ü (Deutsch)
- Akzente wie é, à (Französisch)
- Andere Schriftsysteme wie Arabisch, Chinesisch oder Japanisch
Dafür wurde Unicode entwickelt, das über eine Million Zeichen aus fast allen Schriften der Welt enthält. UTF-8 ist die gebräuchlichste Kodierung für Unicode und ist rückwärtskompatibel mit ASCII.
Wenn du in einer Textdatei oder auf einer Webseite komische Zeichen wie „ü" statt „ü" siehst, liegt das fast immer an einem Kodierungsfehler – der Computer benutzt die falsche Kodierung zum Lesen der Datei.
Warum ist das wichtig?
Jedes Mal, wenn du eine SMS schreibst, eine E-Mail sendest oder in einem Texteditor tippst, wandelt dein Computer die Tastenanschläge mithilfe von ASCII oder Unicode in Zahlen um. Das Verstehen von Zeichenkodierung hilft dir, Fehler in Texten zu erkennen und zu verstehen, wie Daten weltweit ausgetauscht werden.
Übungsaufgaben
Was ist der ASCII-Code für den Buchstaben 'M'? Der Code für 'A' ist 65. Berechne den Code, ohne eine Tabelle zu verwenden.
Antwort anzeigen
Die Binärzahl 01001000 steht für einen ASCII-Buchstaben. Welcher Buchstabe ist es? (Tipp: Wandle zuerst in Dezimal um.)