ASCII (ausgesprochen „az-kee“, in amerikanischem Englisch oft „ass-key“) ist eine standardisierte Tabelle von Zeichen für Computer. Es handelt sich um einen Binärcode, mit dem elektronische Geräte Text mit dem englischen Alphabet, Ziffern und anderen gebräuchlichen Symbolen darstellen und verarbeiten. ASCII steht für American Standard Code for Information Interchange (Amerikanischer Standardcode für den Informationsaustausch). Der Code wurde in den 1960er-Jahren entwickelt und basiert auf früheren Codes, die in Telegrafen- und Fernschreibesystemen verwendet wurden.

Wichtig zu korrigieren: ASCII ist ursprünglich ein 7-Bit-Code und definiert 128 Zeichen (Nummern 0–127). Die Aussage, ASCII verwende 8 Bits, ist irreführend: Die Norm selbst benennt 7 Bits pro Zeichen. In der Praxis wurden ASCII-Zeichen oft in 8-Bit-Bytes gespeichert oder über serielle Leitungen mit einem zusätzlichen Paritätsbit übertragen; dabei ergibt sich häufig eine 8-Bit-Darstellung wie 01000001 für den Großbuchstaben A. Im reinen 7-Bit-Format ist A als 1000001 (binär) kodiert, das entspricht 65 in Dezimal und 41 in hexadezimal. Acht Bits (ein Byte) ermöglichten historisch das Hinzufügen eines Paritätsbits zur einfachen Fehlererkennung bei verrauschten Verbindungen.

Zeichenbereiche und Beispiele

Die 128 ASCII-Codes gliedern sich grob in:

  • Kontrollzeichen (0–31) und DEL (127): nicht druckbare Steuerzeichen wie NUL, BEL, BS, LF (Line Feed), CR (Carriage Return) etc.
  • Druckbare Zeichen (32–126): Leerzeichen, Satzzeichen, Ziffern, Groß- und Kleinbuchstaben und weitere Symbole.

Wichtige Bereiche (dezimal):

  • 0–31: Steuerzeichen (z. B. NUL=0, BEL=7, BS=8, TAB/HT=9, LF=10, CR=13)
  • 32: Leerzeichen (Space)
  • 48–57: Ziffern '0'–'9'
  • 65–90: Großbuchstaben 'A'–'Z' (z. B. A = 65, hex 41)
  • 97–122: Kleinbuchstaben 'a'–'z'
  • 127: DEL (Delete) – historisch für das Entfernen von Zeichen auf Lochband/Lochstreifen verwendet

Steuerzeichen – Bedeutung und heutige Verwendung

Die Steuerzeichen wurden ursprünglich zur Steuerung von Druckern, Terminals und Übertragungsleitungen eingeführt. Beispiele und ihre heutige Relevanz:

  • LF (Line Feed, 10): Wechselt in viele Systeme in die nächste Textzeile; in Unix/Linux als neues Zeilenende (\n) üblich.
  • CR (Carriage Return, 13): Wagenrücklauf – in klassischen Druckern relevant; in Kombination CR+LF (13+10) als Zeilenende unter Windows genutzt.
  • BEL (Bell, 7): Erzeugte früher ein akustisches Signal (Glocke) am Terminal.
  • BS (Backspace, 8) und TAB (Horizontal Tab, 9): Steuern Position und Einrückung.

Viele Steuerzeichen werden heute nicht mehr für ihre ursprüngliche Hardwaresteuerung gebraucht, sind aber in Dateiformaten, Protokollen und bei der Textverarbeitung weiterhin relevant (z. B. zur Zeilenaufteilung oder als Steuerbytes in Binärprotokollen).

Historischer Hintergrund

ASCII entstand Anfang der 1960er-Jahre als einheitlicher Standard, um die Kommunikation zwischen verschiedenen Geräten, Herstellern und Systemen zu erleichtern. Die Norm wurde mehrmals überarbeitet (erste Version 1963, spätere Revisionen in den 1960er-/1970er-Jahren). Sie löste ältere Telegrafencodes ab und bildete die Basis für viele frühe Computerprotokolle und Dateiformate.

Erweiterungen und Nachfolger

Da ASCII nur die Grundzeichen des englischen Schriftsystems umfasst, entstanden ab den 1980er-Jahren zahlreiche 8-Bit-Erweiterungen (oft als „Extended ASCII“ bezeichnet), die weitere Zeichen für andere Sprachen und grafische Symbole enthielten — Beispiele sind ISO-8859-1 (Latein-1) und Windows-1252. Diese Erweiterungen verwendeten das achte Bit, um die Anzahl der verfügbaren Zeichen auf 256 zu erhöhen.

Mittlerweile ist Unicode (z. B. UTF-8) der dominierende Standard, weil er nahezu alle Schriftzeichen der Welt abbilden kann. Ein wichtiger Vorteil: UTF-8 ist abwärtskompatibel zu ASCII — Bytes mit Werten unter 128 entsprechen exakt den ASCII-Zeichen.

Praktische Hinweise

  • Wenn jemand von einer „ASCII-Datei“ spricht, ist meist ein reiner Klartext (Plaintext) ohne spezielle Formatierungsinformationen gemeint.
  • Beim Austausch von Textdateien zwischen Systemen muss man die unterschiedlichen Zeilenendungen beachten (Unix: LF, Windows: CR+LF, alte macOS-Versionen: CR).
  • In Programmiersprachen und Netzwerkprotokollen werden ASCII-Codes häufig direkt verwendet (z. B. in HTTP-Headern oder beim Parsen von Text).

Zusammenfassung: ASCII ist ein einfacher, historisch bedeutsamer Zeichencode mit 128 definierten Zeichen (7 Bit). Er legte das Fundament für die Textverarbeitung in frühen Computern und bleibt durch seine Kompatibilität zu modernen Encodings wie UTF-8 weiterhin relevant.