UTF-16

Encoding & Standards

Encodage Unicode à largeur variable utilisant 2 ou 4 octets par caractère, employé en interne par JavaScript, Java et Windows.

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.

Termes associés

BOM (BOM) BOM (BOM)
La marque d'ordre des octets (U+FEFF) placée en début de fichier texte pour indiquer l'ordre des octets (endianness) dans les encodages UTF-16/UTF-32.
Paire de substituts Paire de substituts
Deux unités de code UTF-16 (un substitut haut U+D800–U+DBFF suivi d'un substitut bas U+DC00–U+DFFF) qui représentent ensemble un caractère au-delà de U+FFFF.
Plan multilingue supplémentaire (SMP) Plan multilingue supplémentaire (SMP)
Le plan 1 d'Unicode (U+10000 à U+1FFFF), où sont alloués la majorité des points de code emoji.
Unité de code Unité de code
La combinaison minimale de bits utilisée pour encoder un caractère : 8 bits pour UTF-8, 16 bits pour UTF-16 et 32 bits pour UTF-32.
UTF-32 UTF-32
Encodage Unicode à largeur fixe utilisant exactement 4 octets par caractère, permettant un mappage direct des points de code au détriment de l'espace mémoire.
UTF-8 UTF-8
Encodage Unicode à largeur variable utilisant de 1 à 4 octets par caractère, dominant sur le web (utilisé par plus de 98 % des sites web).

Outils associés

🔢 Recherche Unicode Recherche Unicode
Saisissez un point de code comme U+1F600 et obtenez l'emoji, les détails d'encodage, les octets UTF-8/16 et les entités HTML.