Drei Jahrzehnte Unicode: Alles außer Klingonisch
Unicode brachte 1991 endlich etwas Ordnung in die Vielfalt der Codierungsstandards. Er hat viel dafür getan, dass wir alle uns besser verstehen.

Wenn eine Datei mit einem Text eingelesen wird, besteht sie für den Computer nur aus einer Abfolge von Daten, ohne eine wirkliche Bedeutung. Dass wir Menschen in dieser Datei Eine Geschichte zweier Städte von Charles Dickens erkennen, ist dem Umstand geschuldet, dass sich auf die Codierung dieser Daten geeinigt wurde.
- Drei Jahrzehnte Unicode: Alles außer Klingonisch
- Wie Unicode entstand und funktioniert
- Altlasten im Unicode
- So wird Unicode aktuell genutzt
- Kritik an Unicode und Ausblick
Für die Codierung von Text wurden viele Möglichkeiten erdacht und in der Praxis eingesetzt, vom Morsecode über den Baudot-Murray-Code, der als 5-Bit-Code die Tastenstellung eines Telegrafengeräts kodierte, bis zum American Standard Code for Information Interchange, kurz ASCII, der viele Jahre lang das Fundament der Textkodierung in der IT darstellte.
Mit Unicode, der vor etwa 30 Jahren geschaffen wurde, wurde ein wenig Ordnung in die babylonische Vielfalt der Codierungsstandards gebracht, was wegen der Internationalisierung der IT dringend nötig war. Und damit ist dieser Standard aus der Vergangenheit gleichzeitig die Zukunft.
ASCII-Code und EBCDIC
Wie Vieles in der IT baut auch Unicode auf einem historischen Erbe auf, in diesem Fall dem ASCII-Standard. In diesem 1963 verabschiedeten Standard waren in einer 7-Bit-Codierung 128 Zeichen kodiert. Neben dem lateinischen Alphabet, also den Zeichen von A bis Z, jeweils in Groß- und Kleinschreibung, den Ziffern und einigen Sonderzeichen, befanden sich in diesem Standard auch etliche Steuerzeichen.
Zu diesen Steuerzeichen gehören sowohl bekannte Zeichen wie der Tabulator oder der Zeilenvorschub als auch weniger bekannte Zeichen wie die Glocke (Bell). Genutzt wurden diese Zeichen zur Steuerung der Geräte, die mit dem ASCII-Code umgehen sollten.
Technisch betrachtet wurden im ASCII-Code eigentlich nur 126 Zeichen kodiert. Das ist historisch begründet. Das Zeichen 0 (kodiert als Bits 0000000) wird genutzt, um die Nichtexistenz von Daten anzuzeigen. Im Kontext einer Lochkarte werden keine Löcher im entsprechenden Bereich gestanzt.
Das Gegenteil hiervon ist das Zeichen 127 (1111111), das festlegt, dass die Daten auf diesem Feld als gelöscht gelten. Auch hier wieder der Lochkarten-Hintergrund, bei welchem im Fehlerfall bestehende Löcher nicht mehr geschlossen werden können oder sollen und somit alle Löcher gelocht werden, um ein gelöschtes Datum zu symbolisieren.
Da sie in dieser Form nicht mehr benötigt wurden, wurden diese Zeichen teilweise anders genutzt. In vielen Programmiersprachen stellt das Zeichen 0 das Ende einer Zeichenkette dar. Somit können in Sprachen wie C Zeichenketten abgespeichert werden, ohne dass die entsprechende Länge bekannt sein muss - im Gegensatz zu Sprachen wie etwa Pascal.
In seiner heutigen Form wurde der ASCII-Code nach einigen kleineren Änderungen 1968 verabschiedet. Neben dem ASCII-Code wurde von IBM der Extended Binary Coded Decimal Interchange Code (EBCDIC) entwickelt, der vorwiegend auf Großrechnern genutzt wurde. Diese Entwicklung fand zwischen 1963 und 1964 statt und wurde mit dem System/360 der Öffentlichkeit vorgestellt.
Im Westen nichts Neues
Aus Sicht der westlichen Welt war der ASCII-Code für vieles gut genug. So können Umlaute im Deutschen leicht ersetzt werden, zum Beispiel das Zeichen ä durch ae. Allerdings wurde dies nicht immer gemacht und war auch nicht immer gewünscht.
Um andere Zeichen wie Umlaute oder Akzentzeichen abzubilden, entstanden 8-Bit-Codes basierend auf dem ASCII-Code, die somit die doppelte Zeichenanzahl unterbringen konnten. In Westeuropa hat sich insbesondere der Standard ISO/IEC 8859-1 etabliert, besser bekannt unter dem Namen Latin-1. Ziel dieses Standards war es, möglichst viele Zeichen westeuropäischer Sprachen abzubilden. Unter Windows wurde eine abgewandelte Form dieses Zeichensatzes unter dem Namen Windows-1252 genutzt.
Durch die ISO standardisiert sind außerdem Zeichensätze für weitere europäische Regionen, wie für Griechisch, aber auch für Kyrillisch, Arabisch, Thai und Hebräisch. Daneben existieren andere 8-Bit-Codierungen, die teilweise nur mit ihren jeweiligen Anwendungen beziehungsweise Betriebssystemen kompatibel waren und nicht standardisiert sind. Ein Beispiel für solche Codierungen ist CBM-ASCII, in der unter anderem Zeichen für Blockgrafik enthalten waren und die bei vielen Heimcomputern von Commodore zum Einsatz kam.
Dressing für den Zeichensalat
Die Nutzung unterschiedlicher Codierungen führt aber auch zu Problemen. Wird ein Dokument etwa mit der falschen Codierung geöffnet, so erhalten die Nutzer in solchen Fällen Zeichensalat:
Falsches Ãben von Xylophonmusik quält jeden gröÃeren Zwerg.
Auch Texte, in denen mehrere Sprachen vorhanden sind, ließen sich mit diesen bestehenden Codierungen nicht einfach umsetzen. Mit der Globalisierung und dem Austausch von Dokumenten über Sprach- und Systemgrenzen hinweg entwickelte sich die Vielfalt an Codierungen zu einem Problem.
Die ISO/IEC 2022 versuchte, dieses Problem zu lösen. Bei diesem Standard kann unter Zuhilfenahme verschiedener Escape-Sequenzen zwischen den unterschiedlichen Zeichensätzen umgeschaltet werden. Durchgesetzt hat sich dieser Standard nur in Japan, Korea und China, in erster Linie im Kontext E-Mail, da der Standard auch entsprechende 7-Bit-Codierungen definiert.
Um die Probleme zu lösen, wurde schließlich Unicode entwickelt.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Wie Unicode entstand und funktioniert |
Aach.. hier hat doch niemand Pointer auf Integer gecastet... sowas würden wir nie tun...
Ich muss deinen Titel korrigieren: Nicht Unicode ist kompliziert, die menschliche Sprache...
Wenn ich den Artikel richtig verstanden habe, dann sind die Planes Exx und Fxx für...
Das konnten Platten von Seagate* schon seit Jahrzehnten. "Sie geht, oder sie geht...
Kommentieren