ASCII / ASCII-Code

ASCII (ausgesprochen „Äski“) ist ein Akronym für American Standard Code for Information Interchange. Es handelt sich um einen 7-Bit-Zeichencodierungsstandard, der entwickelt wurde, um Text in Computern, Telekommunikationsgeräten und anderen Geräten einheitlich darzustellen und auszutauschen.

 

Vor der Einführung von ASCII im Jahr 1963 gab es zahlreiche, inkompatible Codierungssysteme, was den Datenaustausch zwischen verschiedenen Herstellern und Systemen extrem erschwerte. ASCII schuf eine gemeinsame Sprache, indem es jedem druckbaren Zeichen (Buchstaben, Ziffern, Satzzeichen) und jedem Steuerzeichen (wie Zeilenumbruch oder Tabulator) eine eindeutige numerische Zahl zwischen 0 und 127 zuordnete. Obwohl es heute durch erweiterte Standards wie UTF-8 (Unicode) für die globale Kommunikation ergänzt wurde, bleibt ASCII die fundamentale Basis fast aller modernen Textcodierungen und ist nach wie vor essenziell für die Programmierung und Systemadministration.

 

Historische Entwicklung und Standardisierung

In den frühen Tagen der Computertechnik nutzte jeder Hersteller (wie IBM, DEC, Telefunken) eigene Codes, um Zeichen binär darzustellen. Ein „A“ konnte auf einem System den Wert 65 haben, auf einem anderen aber 90. Dies machte die Kommunikation zwischen verschiedenen Rechnern unmöglich.

 

Das American National Standards Institute (ANSI) entwickelte daher in den 1960er Jahren einen einheitlichen Standard. Die erste Version wurde 1963 veröffentlicht und 1967 (und zuletzt 1986) aktualisiert. Da der Standard auf 7 Bit basiert ( Möglichkeiten), war er effizient und passte gut in die damaligen 8-Bit-Architekturen, wobei das achte Bit oft für Prüfsummen (Parity) oder herstellerspezifische Erweiterungen genutzt wurde.

 

Aufbau des ASCII-Codes

Der ASCII-Code umfasst insgesamt 128 Zeichen (von 0 bis 127), die in zwei Hauptgruppen unterteilt werden:

 

1. Steuerzeichen (Control Characters: 0–31 und 127)

Diese Zeichen sind nicht druckbar und dienen der Steuerung von Geräten oder der Formatierung von Textdaten. Sie stammen aus der Zeit der Fernschreiber (Teletypes).

  • Beispiele:
    • 0 (NULL): Ein Platzhalter ohne Funktion, oft zum Auffüllen oder als String-Ende in Programmiersprachen wie C.
    • 9 (HT - Horizontal Tab): Der Tabulator.
    • 10 (LF - Line Feed): Zeilenvorschub (in Unix/Linux das Ende einer Zeile).
    • 13 (CR - Carriage Return): Wagenrücklauf (in alten Schreibmaschinen der Rückzug des Schlittens; in Windows meist in Kombination mit LF als Zeilenende genutzt).
    • 27 (ESC - Escape): Leitet Steuersequenzen ein (z. B. für Farben im Terminal).
    • 127 (DEL): Löschen des letzten Zeichens.
 

2. Druckbare Zeichen (Printable Characters: 32–126)

Dies sind die Zeichen, die auf dem Bildschirm oder Papier sichtbar sind.

  • 32 (Space): Das Leerzeichen (das erste druckbare Zeichen).
  • 48–57: Die Ziffern 0 bis 9.
  • 65–90: Die Großbuchstaben A bis Z.
  • 97–122: Die Kleinbuchstaben a bis z.
  • Weitere: Diverse Satzzeichen und Symbole (z. B. !, @, #, $, %, &).
 

Eine besondere Eigenschaft von ASCII ist die logische Anordnung: Die Codes für die Ziffern und Buchstaben liegen fortlaufend nebeneinander. Das ermöglicht in der Programmierung einfache Berechnungen, z. B. die Umwandlung eines Kleinbuchstabens in einen Großbuchstaben, indem man einfach 32 vom ASCII-Wert subtrahiert.

 

Erweiterungen und die 8-Bit-Ära

Da ASCII nur 128 Zeichen definiert und viele Sprachen der Welt zusätzliche Buchstaben benötigen (wie ä, ö, ü, ß im Deutschen oder é, ñ im Französischen/Spanischen), wurde das achte Bit des Bytes genutzt, um den Zeichenvorrat auf 256 Zeichen zu erweitern.

 

Dies führte zu verschiedenen erweiterten ASCII-Sets (oft fälschlich einfach „ASCII“ genannt), die im Bereich 128–257 unterschiedliche Zeichen enthielten:

  • ISO-8859-1 (Latin-1): Der verbreitetste Standard für westeuropäische Sprachen.
  • Codepage 437: Der Zeichensatz des ursprünglichen IBM-PC, der auch grafische Symbole für Rahmen und Boxen enthielt (die man aus alten DOS-Oberflächen kennt).
 

Das Problem dabei: Ein Byte-Wert wie 142 konnte in einem System ein „Ž“ sein, in einem anderen ein spezielles Symbol und in einem dritten gar nichts. Diese Inkompatibilität war einer der Hauptgründe für die Entwicklung von Unicode.

 

ASCII und Unicode

Heute ist der Weltstandard für Text Unicode (meist kodiert als UTF-8). Unicode umfasst über 140.000 Zeichen aus fast allen Schriftsystemen der Welt sowie Emojis und mathematische Symbole.

 

Der entscheidende Vorteil von UTF-8 ist jedoch seine Abwärtskompatibilität zu ASCII:

  • Die ersten 128 Zeichen (0–127) von UTF-8 sind bit-identisch mit ASCII.
  • Eine reine ASCII-Datei ist also automatisch auch eine gültige UTF-8-Datei.
  • Erst bei Zeichen über 127 werden in UTF-8 mehrere Bytes verwendet.
 

Dadurch ist ASCII nie wirklich verschwunden, sondern bildet das fundamentale Rückgrat des modernen Internets und fast aller Programmiersprachen. Quellcode von Programmen (Variablennamen, Befehle wie if, while, function) besteht fast ausschließlich aus ASCII-Zeichen, was den globalen Austausch von Code ermöglicht, unabhängig von der Landessprache des Programmierers.

 

Anwendungsbereiche heute

Obwohl wir komplexe Zeichensätze nutzen, bleibt ASCII in vielen technischen Bereichen unverzichtbar:

 
  1. Programmierung: Wie erwähnt, basieren Syntax und Schlüsselwörter fast aller Sprachen auf ASCII.
  2. Netzwerkprotokolle: Grundlegende Protokolle wie HTTP, SMTP (E-Mail) oder FTP nutzen ASCII für ihre Befehlsstrukturen (Header, Statuscodes).
  3. Datenbanken und Dateiformate: Einfache Textformate wie CSV (Comma Separated Values) oder Konfigurationsdateien (.ini, .conf) basieren oft auf reinem ASCII, um maximale Kompatibilität zu gewährleisten.
  4. Systemnahe Programmierung: Steuerzeichen wie NULL, LF oder ESC sind nach wie vor essenziell für die Verarbeitung von Datenströmen und die Terminal-Steuerung.
  5. ASCII-Art: Eine Kunstform, bei der Bilder ausschließlich aus den druckbaren ASCII-Zeichen zusammengesetzt werden. Diese war in der Zeit vor hochauflösenden Grafiken weit verbreitet und lebt in Foren, E-Mail-Signaturen und im Source-Code von Software als Easter Egg weiter.
 

Fazit

ASCII ist zwar technologisch über 60 Jahre alt und im Umfang begrenzt, aber es ist einer der langlebigsten und wichtigsten Standards der Informatikgeschichte. Es löste das Problem der Inkompatibilität in der Frühzeit des Computing und bildet durch seine nahtlose Integration in Unicode bis heute das Fundament der digitalen Textverarbeitung. Ohne ASCII gäbe es kein einheitliches Internet, keine portablen Programme und keine einfache maschinelle Lesbarkeit von Textdaten. Es ist das „Alphabet“ des Computers.

Kontakt

Adresse
PHNETZ Internetagentur
Peter Höppner
Robert‑Bosch‑Straße 8
86551 Aichach

Telefon
📞 +49 (0)8251 8628574

E‑Mail
✉️ service@phnetz.de