Wer kennt das Problem nicht: Die Umlaute fehlen in einem Text: stattdessen nur Fragezeichen oder komische Symbole. Der Grund dafür sind unterschiedliche Zeichenkodierungen. UTF‑8 ist eine Verfahren Zeichen aus verschiedenen Sprachen einheitlich darzustellen. Um verständlich zu machen, wie das geht und was die Vorteile davon sind, greif ich mal ein wenig in die Klamottenkiste.
ASCII
Ende der 1960er Jahre sind eine ganze Menge schlauer Sachen erfunden worden: Die Mouse, das @-Zeichen und zum Beispiel auch ASCII. ASCII steht für American Standard Code for Information Interchange und bedeutet, dass es sich dabei um einen amerikanischen Standard für den Austausch von Zeichen handelt. ASCII hat festgelegt, dass bestimmte Bitfolgen für bestimmte Buchstaben stehen:
- A = 01000001
- B = 01000010
- C = 01000011
- …
Man hat hier nur 7‑Bit definiert – das erste Bit in Standard 8‑Bitsystemen ist damit immer eine 0. Damit kann man 128 verschiedene Buchstaben und Zahlen definieren. Den Amerikanern hat das gereicht – das Englische hat keine Umlaute. Im Deutschen möchte man aber gerne das Ö und im Dänischen das Ø benutzen. Das geht mit ASCII nicht.
ISO 8859
Ende der 1990er hat man sich dann international zusammengesetzt und eine Standard entwickelt: ISO 8859 nutzt das 8te Bit mit und verdoppelt damit die Zahl der möglichen Zeichen. Da selbst 128 zusätzliche Zeichen nicht reichen, um alle Zeichensysteme der Welt abzudecken, hat man mehrere Unterstandards entworfen. Die sind durch die Endnummer bezeichnet: ISO 8859–1 umfasste in den ersten 128 Zeichen den normalen ASCII-Zeichensatz und darüber unter anderem die deutschen Umlaute (öäüÖÄÜ) das ß usw. Dieser Standard wurde dann durch ISO 8859–15 ersetzt, um zum Beispiel das Euro-Zeichen (€) aufzunehmen.
Das hat dann ganz okay funktioniert, solange man nur einen solchen Zeichensatz auf einer Website benutzen musste. Man hat auf einer deutschen Internetseite einfach die Ausgabe so eingestellt, dass sie ISO 8859–15 ausgibt und konnte damit hervorragend deutsche, aber zum Beispiel auch dänische Texte anzeigen lassen. Es ist aber vollkommen unmöglich damit Chinesisch oder ähnliche abgefahrene Sachen anzuzeigen. Dazu benötigt man mehr Platz für Zeichen.
UTF‑8
Hier setzt UTF‑8 an: UTF‑8 bedeutet 8‑bit UCS Transformation Format und der Standard nutzt ein bis vier 8‑Bit-Folgen. Einfachstes Beispiel: Es wird nur eine 8‑Bitfolge genutzt, dann entsprechen die Bitmuster ASCII. Das wären theoretisch über 4 Billionen Zeichen möglich. Das wird aber wieder eingeschränkt, so dass aber immerhin noch 1.114.112 Möglichkeiten zur Verfügung stehen. Ein Beispiel dafür, was damit jetzt möglich ist, zeigt der UTF-8-Sampler.
Beliebt ist UTF‑8 in vielen modernen Softwareanwendungen gerade dann, wenn verschiedene System interagieren. Viele APIs geben UTF‑8 aus, weil es dann nicht zu Schwierigkeiten durch unterschiedliches Encoding kommen kann.
Links
- Wikipedia: UTF‑8
- Wikipedia: ISO 8859
- Wikipedia: ASCII
- getDigital: T‑Shirt „Schei� Codierung“
Foto: Miss X / photocase.com
Schreibe einen Kommentar