Was ist ASCII? Zeichencodierung erklärt
Autor: Redaktion Domeny.ForSale Veröffentlicht
Kurz erklärt: ASCII ist ein Standard, der 128 Zeichen die Zahlen von 0 bis 127 zuordnet. Dadurch lässt sich Text als Daten speichern und übertragen. Er umfasst unter anderem die Buchstaben des englischen Alphabets, Ziffern, Satzzeichen und Steuercodes, enthält aber keine polnischen Buchstaben wie „ą“ oder „ł“. Heute werden Texte meist in UTF-8 gespeichert. Diese Codierung ist für die ersten 128 Zeichen mit ASCII kompatibel.
Wie ASCII funktioniert und was der Name bedeutet
ASCII steht für American Standard Code for Information Interchange, also den amerikanischen Standardcode für den Informationsaustausch. Es handelt sich um eine Zeichencodierung: eine festgelegte Regel, die Zeichen bestimmten Zahlenwerten zuordnet. Der Computer speichert Zahlen als Bits. Ein Programm, das Text liest, interpretiert diese Werte anhand der gewählten Codierung.
ASCII ist eine 7-Bit-Codierung. Mit sieben Bits lassen sich 128 verschiedene Werte von 0 bis 127 darstellen. In Dateien belegt jedes Zeichen von ASCII normalerweise ein Byte, also acht Bits. Das höchstwertige Bit ist dabei null.
Dem Großbuchstaben A entspricht beispielsweise die Dezimalzahl 65. Hexadezimal wird sie als 41 und binär in einem Byte als 01000001 dargestellt. Das sind drei Darstellungen desselben Wertes, nicht drei unterschiedliche Zeichencodes. Die Schreibweise 0x41, die in Dokumentationen und beim Programmieren vorkommt, kennzeichnet einen Hexadezimalwert.
Welche Zeichen die Tabelle von ASCII enthält
ASCII enthält 95 druckbare Zeichen einschließlich des Leerzeichens. Die übrigen 33 Positionen sind Steuercodes, die keine gewöhnlichen sichtbaren Symbole darstellen. Sie dienen unter anderem dazu, Tabulatoren oder Zeilenenden zu kennzeichnen.
| Zeichen oder Funktion | Dezimalcode | Hexadezimalcode |
|---|---|---|
| Tabulator (TAB) | 9 | 09 |
| Zeilenvorschub (LF) | 10 | 0A |
| Wagenrücklauf (CR) | 13 | 0D |
| Leerzeichen | 32 | 20 |
Ziffer 0 | 48 | 30 |
Großbuchstabe A | 65 | 41 |
Kleinbuchstabe a | 97 | 61 |
| Löschen (DEL) | 127 | 7F |
Eine Ziffer als Zeichen ist nicht dasselbe wie eine Zahl. Der Text 123 besteht aus drei Zeichen mit den Codes ASCII 49, 50 und 51. Soll ein Programm damit rechnen, muss es diesen Text zunächst als Zahl interpretieren.
Groß- und Kleinbuchstaben haben eigene Codes. Deshalb sind A und a unterschiedliche Zeichen. Auch ein Leerzeichen bedeutet nicht, dass „keine Daten“ vorhanden sind: Es hat einen eigenen Code und belegt Platz in der Datei.
Die Codes CR und LF erklären einige Unterschiede zwischen Textdateien. In Unix-Systemen wird das Zeilenende normalerweise durch LF gekennzeichnet, in Windows dagegen durch die Kombination CRLF. Dokumente können im Editor daher identisch aussehen, obwohl sie an den Zeilenenden unterschiedliche Bytefolgen enthalten.
ASCII, Unicode und UTF-8 – die Unterschiede
ASCII enthält weder polnische Buchstaben mit diakritischen Zeichen noch das griechische Alphabet, kyrillische Schrift oder Emoji. Für mehrsprachigen Text gibt es Unicode: Dieser Standard ordnet Zeichen und anderen Textelementen Zahlen zu, die als Codepunkte bezeichnet werden. UTF-8 ist eine Möglichkeit, diese Codepunkte als Bytefolgen zu speichern.
Unicode und UTF-8 sind keine Synonyme. Unicode legt unter anderem fest, welche Nummer ein Zeichen hat. UTF-8 legt fest, wie diese Nummer in den Daten gespeichert wird. ASCII verbindet einen kleinen Zeichensatz mit einer einfachen numerischen Codierung.
Die ersten 128 Codepunkte von Unicode entsprechen ASCII. In UTF-8 wird jedes dieser Zeichen mit genau demselben einzelnen Byte gespeichert wie in ASCII. Eine Datei, die ausschließlich gültigen Text in ASCII enthält, ist deshalb auch eine gültige Datei in UTF-8.
Das lässt sich am polnischen Wort kot („Katze“) zeigen: Es belegt sowohl in ASCII als auch in UTF-8 drei Bytes. Das polnische Wort żółw („Schildkröte“) lässt sich dagegen nicht allein mit ASCII darstellen. In UTF-8 belegt es sieben Bytes: jeweils zwei für ż, ó und ł sowie eines für w.
Warum „erweitertes ASCII“ irreführend sein kann
Die Bezeichnung „erweitertes ASCII“ steht nicht für eine einzige universelle Codierung. Sie wird für verschiedene 8-Bit-Codierungen verwendet, die den Wertebereich von ASCII beibehalten und zusätzlich die Werte von 128 bis 255 nutzen. Dazu gehören unter anderem Windows-1250 und ISO-8859-2, die für mitteleuropäische Texte verwendet werden.
Dasselbe zusätzliche Byte kann je nach Codierung ein anderes Zeichen bedeuten. Liest ein Programm die Datei mit der falschen Codierung, können anstelle polnischer Buchstaben fehlerhafte Symbole erscheinen. Diese werden im Polnischen umgangssprachlich als „krzaki“, wörtlich „Büsche“, bezeichnet – gemeint ist Zeichensalat. Die Angabe „Datei in ASCII“ reicht deshalb nicht aus, um ein Dokument zu beschreiben, das Zeichen außerhalb des grundlegenden Zeichensatzes enthält.
Wann ASCII in der Praxis wichtig ist
ASCII kommt weiterhin in Protokolldokumentationen, Dateiformaten und Beschränkungen für Formularfelder vor. Die Meldung „Nur Zeichen aus ASCII erlaubt“ schließt unter anderem polnische Buchstaben, typografische Anführungszeichen und lange Gedankenstriche aus. Sie bedeutet aber nicht automatisch, dass das Feld alle Zeichen aus ASCII akzeptiert: Die Nutzungsbedingungen oder die Eingabeprüfung können ausschließlich Buchstaben und Ziffern zulassen.
Wenn eine importierte Datei falsche Zeichen anzeigt, gehe wie folgt vor:
- Sichere eine Kopie des Originals, bevor du Änderungen speicherst.
- Prüfe, welche Codierung die Quelle der Datei angibt, beispielsweise in den Exporteinstellungen.
- Öffne die Datei im Editor mit dieser Codierung und überprüfe die polnischen Buchstaben.
- Speichere erst nach dem korrekten Einlesen eine Kopie in UTF-8, sofern das Zielsystem diese Codierung unterstützt.
Wähle für ein neues Dokument mit polnischem Text UTF-8, sofern der Empfänger kein anderes Format verlangt. Wenn „ASCII“ gefordert wird, kläre auch, welche Zeichen genau erlaubt sind. So vermeidest du, dass Daten trotz korrekter Codierung zurückgewiesen werden.
Siehe auch: Was ist AGI?
