UTF-16

Das ist der Eintrag dazu aus unserem IT-Kommunikationslexikon:

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.

Aktuelle Beiträge

Ausschlussliste für Defender definieren

Wie bei allen Virenschutz-Werkzeugen kann es auch beim Microsoft Defender Sinn ergeben, manchen Dateien vom regelmäßigen Scan nach Schädlingen auszunehmen. Allerdings sind die entsprechenden Einstellungen ziemlich gut in der Systemsteuerung von Windows 11 und auch 10 versteckt. Unser Tipp nimmt Sie beim Gang durch die Settings an die Hand und beschreibt das Modifizieren der Ausschlussliste.