Skip to content

Glossary

ASCII

Die ursprüngliche 7-Bit-Zeichenkodierung

By Published Updated

ASCII (American Standard Code for Information Interchange, ausgesprochen „äss-kih“) ist eine Zeichenkodierung, die 128 Symbole auf die Ganzzahlen 0–127 abbildet. 1963 definiert und 1972 international als ISO/IEC 646 standardisiert.

Abdeckung:

  • 0–31: Steuerzeichen (NUL, Zeilenvorschub, Wagenrücklauf, Tabulator, Escape, Klingel)
  • 32–47: Satz- und Sonderzeichen (Leerzeichen, !, ", #, $, %, usw.)
  • 48–57: Ziffern 0–9
  • 58–64: weitere Satzzeichen (:, ;, <, =, >, ?, @)
  • 65–90: Großbuchstaben A–Z
  • 97–122: Kleinbuchstaben a–z
  • 127: DEL

ASCII passt in 7 Bit, weshalb alte serielle Protokolle und Telegrafensysteme eine 7-Bit-Übertragung nutzten. Das 8. Bit wurde zum Paritätsbit. Moderne Systeme verwenden 8 Bit pro Zeichen; die oberen 128 Werte (128–255) werden je nach gewählter Kodierung unterschiedlich interpretiert (Latin-1, Windows-1252 usw.).

UTF-8 ist abwärtskompatibel zu ASCII – jeder ASCII-Text ist eine gültige UTF-8-Datei mit identischen Bytes. Diese Kompatibilität ist einer der Hauptgründe, warum UTF-8 die Unicode-Kodierungskriege gewann.

Durchgerechnetes Beispiel

Die Zeichenkette „Hi!“ in ASCII kodiert sind drei Bytes: H = 72 (0x48), i = 105 (0x69), ! = 33 (0x21). Binär geschrieben: 01001000 01101001 00100001. Beachten Sie, dass das höchste Bit jedes Bytes null ist – das ist die 7-Bit-Garantie. Vergleichen Sie dieselbe Zeichenkette in UTF-16: 0048 0069 0021 – sechs Bytes für denselben Inhalt, wobei die Little-Endian-Bytereihenfolge eine BOM am Anfang hinzufügt. Vergleichen Sie nochmals mit UTF-8: identisch zu ASCII, weil jedes Zeichen im Bereich 0–127 liegt. Versuchen Sie nun „café“: ASCII kann das é (Unicode U+00E9) nicht kodieren; der Encoder bricht entweder ab oder ersetzt es durch ein Fragezeichen. UTF-8 kodiert é als zwei Bytes 0xC3 0xA9; Latin-1 kodiert es als das einzelne Byte 0xE9. Dasselbe sichtbare Zeichen, drei verschiedene Bytesequenzen je nach Kodierungswahl.

Das Gegenstück zu ASCII für nicht-englischen Text ist Unicode, das jedem Zeichen einen Codepunkt zuweist und Kodierungen (UTF-8, UTF-16, UTF-32) nutzt, um sie als Bytes zu serialisieren. UTF-8 wurde 1992 eigens von Ken Thompson und Rob Pike so entworfen, dass es ASCII-kompatibel ist: Jede Datei, die nur ASCII-Zeichen enthält, ist in ASCII und UTF-8 identisch, weshalb sich nahezu jedes englischsprachige Übertragungsprotokoll und Konfigurationsformat ohne Bruchstellen auf Unicode aufrüsten ließ.

Wann und warum es zählt

ASCII zählt beim Debuggen von Kodierungsfehlern, beim Entwurf von Übertragungsprotokollen oder bei jedem System, das Text Byte für Byte verarbeitet. Der Fehler, der ein é als „cé“ oder „cé“ oder „c?“ ausliefert, ist stets eine ASCII/UTF-8/Latin-1-Verwechslung – irgendwo in der Pipeline wurden Bytes mit der falschen Annahme dekodiert. Sortieralgorithmen, die Zeichenketten als Bytes behandeln, sortieren Großbuchstaben vor Kleinbuchstaben wegen der ASCII-Reihenfolge – „Zebra“ kommt vor „apfel“, wenn man rohe Bytes sortiert, was Nutzer überrascht, die eine groß-/kleinschreibungsunabhängige lexikografische Ordnung erwarten. Bezeichnerregeln in Programmiersprachen (Variablennamen, JSON-Schlüssel) sind meist auf ASCII beschränkt, um über Systeme hinweg portabel zu sein, deren Standardkodierung nicht vorausgesetzt werden kann. Wer ein CSV-Format, ein Logdateiformat oder ein textbasiertes Übertragungsprotokoll entwirft, profitiert davon zu wissen, was die ASCII-Pipeline unverändert übersteht und was verstümmelt wird. Quelle: RFC 20 – ASCII format for Network Interchange.

Warum die Alphabet-Reihenfolge zählt: ASCII platzierte Großbuchstaben (65–90) absichtlich vor Kleinbuchstaben (97–122) mit einem festen Versatz von 32 dazwischen. Das Setzen oder Löschen von Bit 5 eines beliebigen Buchstaben-Bytes (das 0x20-Bit) kippt seine Groß-/Kleinschreibung – von Groß zu Klein und zurück. Dieser Bit-Trick ist der Grund, warum jede alte C-String-Bibliothek tolower() mit einer einzigen arithmetischen Operation umsetzen konnte, und er ist in unzählige Protokolle (HTTP-Header-Namen, DNS-Labels) eingebacken, die nominell groß-/kleinschreibungsunabhängig sind, aber genau auf dieser Bit-Kipp-Äquivalenz beruhen. Der Trick versagt in dem Moment, in dem Unicode auftaucht – das türkische gepunktete/punktlose I ist das klassische Gegenbeispiel.

Das Steuerzeichen-Erbe, das niemand loswerden kann: Der Bereich 0–31 trägt Überreste aus der Fernschreiber-Hardware, die kein modernes System nutzt, die aber jeder Parser erkennen muss. NUL (0) beendet C-Zeichenketten; LF (10) und CR (13) trennen Zeilen (Unix nutzt LF, Windows nutzt CRLF, das alte Mac OS nutzte CR allein); HT (9) ist der Tabulator; ESC (27) leitet ANSI-Terminal-Escape-Sequenzen ein. Das Klingelzeichen (7) ließ einst eine physische Klingel an Teletype-Model-33-Terminals erklingen; heute löst es auf den meisten Betriebssystemen die System-Beep-API aus. Keines davon ließe sich heute entwerfen – sie überleben, weil ein halbes Jahrhundert an Dateiformaten und Übertragungsprotokollen sie erwartet. Quelle: ISO/IEC 646 – Information technology – ISO 7-bit coded character set.

Frequently asked questions

Was ist ASCII?
ASCII (American Standard Code for Information Interchange) ist eine 7-Bit-Zeichenkodierung, die 128 Werte (0–127) auf Buchstaben, Ziffern, Satzzeichen und Steuerzeichen abbildet. Sie wurde 1963 standardisiert und bildet bis heute die Grundlage aller modernen Textkodierungen.
Wie wird ASCII in der Praxis genutzt?
Jede englischsprachige Textdatei, URL oder jeder HTTP-Header, der erweiterte Zeichen meidet, ist gültiges ASCII. E-Mail-Protokolle wie SMTP waren ursprünglich rein ASCII-basiert, weshalb nicht-ASCII-Betreffzeilen mit Base64 oder Quoted-Printable kodiert werden müssen.
Was ist der Unterschied zwischen ASCII und UTF-8?
UTF-8 ist eine Obermenge von ASCII: Die ersten 128 Codepunkte von UTF-8 sind identisch mit ASCII und werden als einzelne Bytes kodiert. UTF-8 reicht über 128 hinaus und deckt mit 2–4 Bytes über 1,1 Millionen Unicode-Codepunkte ab, während ASCII bei 127 endet.
Warum nutzt ASCII 7 statt 8 Bit?
Das Komitee von 1963 reservierte das 8. Bit für die Paritätsprüfung auf seriellen Leitungen. So blieben 128 Plätze – genug für das englische Alphabet, Ziffern, Satzzeichen und Steuerzeichen. Das 8. Bit wurde später von konkurrierenden erweiterten Kodierungen wie ISO-8859-1 genutzt.

Related

Published May 14, 2026 · Last reviewed May 31, 2026