UTF-16


Unicode Transformation Format-16
UCS Transformation Format


Als UTF-16 wird ein Codierungsformat für Unicode bezeichnet, das urspünglich immer zwei Byte zur Darstellung eines Unicode-Zeichens verwendete. Sie ist damit gut für die Verarbeitung innerhalb von Programme geeignet, da sich Zeichen gleicher Breite besser handhaben lassen und zwei Byte pro Zeichen noch eine vertretbaren Speicherverbrauch ergeben. Daher wird sie zum Beispiel von Java als Standardformat für die Zeichendarstellung verwendet. UTF-16 war die erste und am Anfang einzige Unicodecodierung, die entwickelt wurde. In vielen älteren Publikationen ist die Bezeichnung Unicode daher gleichbedeutend mit UTF-16 oder UCS-2.

Allerdings reichte auch der Wertevorrate von UTF-16 bald nicht mehr aus. Das hatte mehrere Gründe. Zum einen wollte man immer mehr Zeichen aus toten Sprachen darstellen können, zum anderen machte die Volksrepublik China mit dem Standard GB18030 eine alternative Codezuweisung für chinesische Schriftzeichen notwendig, die sich nicht auch noch unterbringen lies. Daher mussten größere Formate wie UTF-32 entwicklet werden. Außerdem kam mit UTF-8 ein Format hinzu, das eine variable Anzahl von Darstellungsbytes benutzt.

Um die ganze Sache noch komplizierter zu machen, wurde dann in Unicode Version 4.0 für UTF-16 auch noch die Möglichkeit geschaffen, Unicode-Zeichen im Bereich U+10000 bis U+10FFFF darzustellen. Für diese Zeichen werden zwei Zweibytewörter benutzt, die wie folgt gebildet werden: Von der Nummer des Zeichens wird 65536 (10000hex) abgezogen, da so mehr Zeichen codiert werden können. Danach wird das Ergebnis auf zwei Blöcke zu je 10 Bit aufgeteilt. Dem ersten Block wird die Bitfolge 110110 und dem zweiten Block wird die Bitfolge 110111 vorangestellt. Das erste der so entstandenen Zweibytewörter bezeichnet man als High-Surrogate, das zweite als Low-Surrogate. Das High-Surrogate enthält die höherwertigen, das Low-Surrogate die niederwertigen Bits des Unicode-Zeichens. Der Codebereich von U+D800 bis U+DBFF (High-Surrogates) und der Bereich von U+DC00 bis U+DFFF (Low-Surrogates) ist für diese UTF-16-Ersatzzeichen reserviert und enthält keine eigenständigen Zeichen.

Da diese Codierungserweiterung für alle lebenden Sprachen und Sonderzeichen nicht benötigt wird, sind die ISO mit UCS-2 und auch die meisten Implementierungen des Standards beim der festen 16-Bit-Darstellung geblieben. Dadurch sind aber zwei Varianten für die Umwandlung von UTF-16 nach UTF-8 entstanden. Die korrekte Umwandlung nach Unicode 4.0 sieht vor, dass die mit Hilfe der Ersatzzeichen codierten Werte erst in einen Unicodewert zurückverwandelt und dann in UTF-8 umgewandelt werden. Da aber prkatisch alle älteren UTF-16-Implementierungen von festen Zweibytezeichen ausgehen, wandeln sie die Ersatzwerte einzeln um. Diese Variante hat man nachträglich als CESU-8 standardisiert.

0-9|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|alle

Suche im Lexikon nach im

 

Fachartikel

Netzwerksicherheit: 23 potenzielle Jobkiller für Administratoren [1.07.2015]

Wo gearbeitet wird, da passieren Fehler. Wichtig ist, aus Missgeschicken zu lernen, um sie künftig zu vermeiden. Abhängig von den Auswirkungen auf das eigene Unternehmen oder auf Kunden können einige Fehltritte jedoch dazu führen, dass die berufliche Karriere einen beträchtlichen Schaden nimmt – oder Mitarbeiter sogar ihren Job verlieren. In diesem Artikel stellen wir nicht ganz frei von Ironie 23 Fehler bei der Absicherung von Netzwerken vor, die so schwerwiegend sind, dass sie den Stuhl von verantwortlichen IT-Mitarbeitern gehörig ins Wackeln bringen. [mehr]

Grundlagen

Eckpfeiler einer Backup-Strategie [24.06.2015]

Die Datensicherung ist nicht nur technisch ein komplexes Thema. Schon bei der Planung einer Backup-Strategie muss der Administrator einiges beachten, um eine angemessene und funktionierende Datensicherung zu gewährleisten. Unser Grundlagenartikel erläutert die wichtigsten Entscheidungskriterien für erfolgreiche Backups, angelehnt an die Empfehlungen der IT-Grundschutzkataloge des BSI. [mehr]