c't 20/2017
S. 170
Know-how
Textkodierung
Aufmacherbild

Zeichentricksereien

Textkodierung von ASCII bis Unicode

Die Textkonsole, der E-Mail-Client oder der Webbrowser verbocken nicht selten so etwas Triviales wie die Anzeige simplen Textes, indem Umlaute zerstört oder Zeilenumbrüche verschluckt werden. Schuld ist der Wildwuchs an konkurrierenden Textkodierungen.

Eigentlich sollte man meinen, das einfachste Dateiformat der Welt sind Textdateien: Sie enthalten ja nichts anderes als Schriftzeichen und im kompliziertesten Fall noch ein paar Steuerzeichen, die Absätze und Seitenumbrüche kennzeichnen. Trotzdem hat wohl jeder schon erlebt, dass Textdateien sich beim Anzeigen auf die eine oder andere Art seltsam verhalten: Da sind Umlaute verunstaltet, Zeilenumbrüche fehlen oder jeder zweite Buchstabe ist ein unlesbares Sonderzeichen. Beschädigt scheinen die betroffenen .txt-Dateien aber nicht zu sein, denn es findet sich praktisch immer irgendein anderes Programm, das ihnen doch noch korrekten Text entlockt.

Wie alle Dateien bestehen Textdokumente zunächst einmal aus eigentlich bedeutungslosen Bitmustern. Sie zu dekodieren und damit zu interpretieren ist Sache der Anwendung, die die Datei liest. Bei der Kodierung von Texten hat sich als kleinster gemeinsamer Nenner der „American Standard Code for Information Interchange“, kurz ASCII, praktisch überall durchgesetzt. Er ordnet den 128 Kombinationen, die die unteren sieben Bit eines Byte annehmen können, je ein Zeichen zu.

Kommentare lesen (2 Beiträge)

Ergänzungen & Berichtigungen

Ziffernverwechslung

In einer ASCII-Tabelle steht in dem Eintrag mit der Nummer 48 (0x30) nicht die Ziffer 1, sondern die 0. Außerdem ist uns die Beschreibung der "Endianness" durcheinandergeraten: Kommt im Datenstrom zuerst das niederwertigste Byte, nennt man das "little endian", steht das höchstwertige vorn, spricht man von "big endian".