UTF-16

Encoding & Standards

Eine Unicode-Kodierung variabler Breite, die 2 oder 4 Bytes pro Zeichen verwendet und intern von JavaScript, Java und Windows genutzt wird.

UTF-16 uses 16-bit code units. Characters in the Basic Multilingual Plane (U+0000 to U+FFFF) use one code unit (2 bytes). Characters above U+FFFF — including most emoji — require a surrogate pair (4 bytes).

This is why JavaScript's `string.length` can be surprising with emoji: `'😀'.length` returns 2 (two UTF-16 code units), not 1. Developers must use spread syntax (`[...'😀'].length`) or `Array.from()` for correct counting.

UTF-16 exists in two byte orders: UTF-16LE (little-endian, used by Windows) and UTF-16BE (big-endian). A BOM character can indicate which is used.

Verwandte Begriffe

BOM (BOM) BOM (BOM)
Die Byte-Reihenfolge-Markierung (U+FEFF) am Anfang einer Textdatei, die die Byte-Reihenfolge (Endianness) bei UTF-16/UTF-32-Kodierungen angibt.
Codeeinheit Codeeinheit
Die kleinste Bitkombination zur Kodierung eines Zeichens: 8 Bit für UTF-8, 16 Bit für UTF-16 und 32 Bit für UTF-32.
Ergänzende mehrsprachige Ebene (SMP) Ergänzende mehrsprachige Ebene (SMP)
Unicode-Ebene 1 (U+10000 bis U+1FFFF), in der die meisten Emoji-Codepoints angesiedelt sind.
Surrogat-Paar Surrogat-Paar
Zwei UTF-16-Codeeinheiten (ein hohes Surrogat U+D800–U+DBFF gefolgt von einem niedrigen Surrogat U+DC00–U+DFFF), die gemeinsam ein Zeichen oberhalb von U+FFFF darstellen.
UTF-32 UTF-32
Eine Unicode-Kodierung fester Breite, die genau 4 Bytes pro Zeichen verwendet und eine direkte Codepoint-Zuordnung auf Kosten des Speicherplatzes ermöglicht.
UTF-8 UTF-8
Eine Unicode-Kodierung variabler Breite, die 1 bis 4 Bytes pro Zeichen verwendet und im Web vorherrschend ist (mehr als 98 % aller Websites).

Verwandte Werkzeuge

🔢 Unicode-Suche Unicode-Suche
Geben Sie einen Codepoint wie U+1F600 ein und erhalten Sie das Emoji, Kodierungsdetails, UTF-8/16-Bytes und HTML-Entities.