UTF-16
UTF-16 ist Unicodes Form mit variabler Länge, die 2 oder 4 Bytes pro Codepunkt verwendet: BMP-Zeichen belegen eine 16-Bit-Codeeinheit, Zeichen der ergänzenden Ebenen ein Ersatzpaar (2 Einheiten).
Zweck
Raumeffizienz mit vollständiger Unicode-Abdeckung ausbalancieren, wo BMP-Zeichen dominieren, etwa in der Windows-API und Javas interner String-Darstellung.
Mechanismus
Ein BMP-Codepunkt (U+0000-FFFF) wird direkt als eine 16-Bit-Einheit gespeichert. Bei einem ergänzenden Codepunkt (U+10000-10FFFF) wird 0x10000 abgezogen und das Ergebnis in obere und untere 10-Bit-Hälften, versetzt um 0xD800 und 0xDC00, zu einem Ersatzpaar geteilt. Die Byte-Reihenfolge zeigt der BOM (U+FEFF) an.
Anwendungsfälle
- Interne Zeichenketten der Windows-API
- Interne String-Darstellung von Java/JavaScript
- Interne Speicherung von .NET-String
- Speicherung von Dateinamen (NTFS)
Beispiele
- Eingabe
AOutput0x00 0x41UTF-16BE, 2 bytes
- Eingabe
😀Output0xD8 0x3D 0xDE 0x00A surrogate pair, 4 bytes
Häufige Fehler
- Ignoring surrogate pairs, producing wrong character counts
- Use code-point-aware APIs or surrogate-pair-aware iteration
Verwandte Begriffe
Unicode
Unicode ist der internationale Zeichenkodierungsstandard, der fast jedem Zeichen der Schriftsysteme der Welt einen eindeutigen Codepunkt (U+0000 bis U+10FFFF) zuweist, mit einem Coderaum von 1.114.112 Punkten. GLOSSAR
UTF-8
UTF-8 ist Unicodes Form mit variabler Länge, die 1 bis 4 Bytes pro Codepunkt verwendet; sie ist vollständig abwärtskompatibel zu ASCII und der De-facto-Standard des Webs und moderner Systeme. GLOSSAR
Surrogate Pair
Ein Surrogatpaar ist der UTF-16-Mechanismus, der einen Codepunkt der ergänzenden Ebene (U+10000 bis U+10FFFF) mit zwei 16-Bit-Codeeinheiten darstellt. GLOSSAR
BOM
Die BOM (Byte-Order-Mark) ist das Unicode-Zeichen U+FEFF, das an den Anfang eines Textstroms gesetzt wird, um Kodierungsform und Byte-Reihenfolge anzuzeigen. GLOSSAR
Endianness
Endianness ist die Byte-Reihenfolge von Mehrbyte-Werten im Speicher: Big-Endian speichert das höchstwertige Byte zuerst, Little-Endian das niederwertigste. GLOSSAR
Verwandte Tools
Unicode-Konverter
Convert text to Unicode code points, UTF-8 hex, or UTF-16 hex online. Kostenlos, privat und 100% clientseitig. WERKZEUG
Zeichensatz-Referenz
Reference table of character encodings. Kostenlos, privat, 100% clientseitig. WERKZEUG
UTF-8 zu UTF-16
Utf8 To Utf16 — reines Client-seitiges Tool. Datenschutz zuerst, kein Server-Roundtrip. WERKZEUG