UTF-16LE

UTF-16LE
Unicode-Logo Unicode
Kodierungen
Techniken

UTF-16 (engl. für: Universal Multiple-Octet Coded Character Set (UCS) Transformation Format for 16 Planes of Group 00) ist eine Kodierung für Unicode-Zeichen, die für die häufig gebrauchten Zeichen aus der Basic multilingual plane (BMP) optimiert ist. Es ist das älteste der Unicode-Kodierungsformate.

UTF-16 wird sowohl vom Unicode-Konsortium als auch von ISO/IEC 10646 definiert. Unicode definiert dabei zusätzliche Semantik. Ein genauer Vergleich findet sich im Anhang C des Unicode-4.0-Standards. Die ISO-Norm definiert weiterhin eine Kodierung UCS-2, in der jedoch nur 16-Bit-Darstellungen der BMP zulässig sind.

Die BMP enthält die Unicode-Zeichen, deren Code im Bereich U+0000 bis U+FFFF liegt. Diese Zeichen werden direkt auf die 16 Bits einer UTF-16-Code-Unit abgebildet. Je nachdem, welches der beiden Bytes zuerst übertragen bzw. gespeichert wird, spricht man von Big Endian (UTF-16BE) oder Little Endian (UTF-16LE).

Zur Unterscheidung dieser Kodierungen wird empfohlen, das Unicode-Zeichen U+FEFF (BOM, byte order mark), das für ein Leerzeichen mit Breite Null und ohne Zeilenumbruch (zero width no-break space) steht, an den Anfang des Datenstroms zu setzen. Wird dieses als U+FFFE – welches ein ungültiges Unicode-Zeichen (not a character) ist – empfangen, dann bedeutet dies, dass die Bytereihenfolge zwischen Sender und Empfänger unterschiedlich ist und somit beim Empfänger die Bytes jedes 16-Bit-Wortes vertauscht werden müssen.

Unicode-Zeichen außerhalb der BMP (d.h. U+10000 bis U+10FFFF), werden durch zwei 16-Bit-Wörter (engl. code units) dargestellt, die wie folgt gebildet werden:

Von der Nummer des Zeichens wird 65536 (10000hex) abgezogen. So können mehr Zeichen kodiert werden. Danach wird das Ergebnis in zwei Blöcke zu je 10 Bit zerteilt. Dem ersten Block wird die Bitfolge 110110 und dem zweiten Block wird die Bitfolge 110111 vorangestellt. Das erste der so entstandenen 16-Bit-Wörter bezeichnet man als High-Surrogate, das zweite als Low-Surrogate. Diesen Namen entsprechend enthält das High-Surrogate 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.

Bei der Umwandlung von UTF-16-Strings in UTF-8-Bytefolgen ist zu beachten, dass die Ersatzzeichen zuerst zu einem Unicode-Zeichencode zusammengefasst werden müssen, bevor diese dann in eine UTF-8-Bytefolge umgewandelt werden können. (Beispiel in der Beschreibung zu UTF-8). Da dies oft nicht beachtet wird, hat sich eine andere, inkompatible Kodierung für die Ersatzzeichen etabliert, die im Nachhinein als CESU-8 normiert worden ist.


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • UTF-16LE — UTF 16 (англ. Unicode Transformation Format) в информатике один из способов кодирования символов из Unicode в виде последовательности 16 битных слов. Символы с кодами меньше 0x10000 (216) представляются как есть, а символы с кодами… …   Википедия

  • UTF-16 — (англ. Unicode Transformation Format) в информатике один из способов кодирования символов из Unicode в виде последовательности 16 битных слов. Данная кодировка позволяет записывать символы Юникода в диапазонах U+0000..U+D7FF и… …   Википедия

  • UTF-16 — est un codage des caractères définis par Unicode où chaque caractère est codé sur une suite de un ou deux mots de 16 bits. Le codage était défini dans le rapport technique 17 à la norme Unicode. Depuis, cette annexe est devenue obsolète car UTF… …   Wikipédia en Français

  • Utf-16 — Unicode Jeux de caractères UCS (ISO/CEI 10646) ISO 646, ASCII ISO 8859 1 WGL4 UniHan Équivalences normalisées NFC (précomposée) NFD (décomposée) NFKC (compatibilité) NFKD (compatibilité) Propriétés et algorithmes ISO 15924 …   Wikipédia en Français

  • UTF-16BE — UTF 16 (англ. Unicode Transformation Format) в информатике один из способов кодирования символов из Unicode в виде последовательности 16 битных слов. Символы с кодами меньше 0x10000 (216) представляются как есть, а символы с кодами… …   Википедия

  • UTF-16 — que significa en ISO/IEC 10646:2003, “UCS Transformation Format for 16 Planes of Group 00.” es una forma de codificación de caracteres UCS y Unicode utilizando símbolos de longitud variable. Se halla oficialmente definido en el Anexo C de la… …   Wikipedia Español

  • UTF-16 — (engl. für: Universal Multiple Octet Coded Character Set (UCS) Transformation Format for 16 Planes of Group 00) ist eine Kodierung für Unicode Zeichen, die für die häufig gebrauchten Zeichen aus der Basic multilingual plane (BMP) optimiert ist.… …   Deutsch Wikipedia

  • UTF-32LE — Юникод, или Уникод (англ. Unicode)  стандарт кодирования символов, позволяющий представить знаки практически всех письменных языков. Стандарт предложен в 1991 году некоммерческой организацией «Консорциум Юникода» (англ. Unicode Consortium,… …   Википедия

  • UTF-32 Little Endian — Юникод, или Уникод (англ. Unicode)  стандарт кодирования символов, позволяющий представить знаки практически всех письменных языков. Стандарт предложен в 1991 году некоммерческой организацией «Консорциум Юникода» (англ. Unicode Consortium,… …   Википедия

  • UTF — Юникод, или Уникод (англ. Unicode)  стандарт кодирования символов, позволяющий представить знаки практически всех письменных языков. Стандарт предложен в 1991 году некоммерческой организацией «Консорциум Юникода» (англ. Unicode Consortium,… …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”