Unicode und UTF-8

Die Darstellung von Texten in den verschiedensten Sprachen und Schriften, wie das lateinische Alphabet, asiatischen, arabischen oder kyrillischen Schriften sowie die Handhabung von Steuer- und Sonderzeichen auf digitalen Systemen, stellt immer wieder Herausforderung an die technischen Gegebenheiten. Zur Übertragung und Verarbeitung von Texten werden hierfür Kodierungen genutzt, welche somit die Internationalisierung von Informationen und Inhalten fördern. Die verbreitetsten Methoden der Kodierung speziell für E-Mails und Webanwendungen sind der Unicode-Standard und die UTF-8-Kodierung.

Kodierungsformate

Neben einer Fülle an Formaten ist die am meisten genutzte und vollständigste Kodierung von Zeichen der Unicode-Standard. Dieser dient der Festlegung digitaler Codes für die jeweiligen Schriftzeichen. Die Charakteristik des Unicode ist hierbei die Katalogisierung von Schriften und Code übergreifend über alle Zeichensysteme und -typen, die durch ein Konsortium bestimmt werden. Aktuell werden über 110.000 Zeichen-Objekte und 100 Schriftsysteme unterstützt. Es findet seine Anwendung in allen digitalen Bereichen, wie Betriebssystemen, Software und Webanwendungen.

Auf dem Format baut die UTF-8-Kodierung (Unicode Transformation Format auch USC Transformation Format) auf, dass der Kodierung von Unicode-Zeichen dient und deren Implementierung in digitale Anwendungen unterstützt. Das Format hat sich besonders bei der Darstellung von E-Mails und Webanwendungen als Standard durchgesetzt und verbreitet. Die Art der Kodierung bietet eine große Bandbreite an Codes und weiterhin erzielt es einen geringen Speicherbedarf.

Kodierung

Ein Unicode-Zeichen beschreibt eine Position eines Codes in der Code-Tabelle als Zeichenfolge. Zusammengehörende Zeichen, wie Schriftfamilien und Symbole, sind innerhalb der Tabelle als Blöcke zusammengefasst.

Bei der Kodierung in UTF-8 werden die Unicode-Zeichen in bis zu vier Bytes gespeichert, wobei ein Byte ein Zeichen-Teil darstellt. Das Format kann einen Code in verschiedenen Formaten wie binär, hexadezimal oder dezimal beschreiben und ist somit vielseitig in der Implementierung.

Die 128 ersten Zeichen der Formate entsprechen denen der Zeichenkodierung ASCII (American Standard Code for Information Interchange). Der Bereich enthält Steuerzeichen, Buchstaben und Ziffern sowie Sonderzeichen und bildet somit die Grundlage der Kodierungstabellen.

Mit Hilfe von Schriftarten werden die eigentlichen Zeichen-Objekte in einem Text oder einer Oberfläche ausgegeben, indem das entsprechende Programm den Code interpretiert und umsetzt.

Beispiel für eine Kodierung:

  • Schriftzeichen: Æ – wird durch Schriftart dargestellt
  • Unicode-Position: U+00C6
  • UTF-8-Kodierung: c3 86 (hexadezimal), 11000011 10000110 (Binär)