sandbox
Sandbox UTF-16 (encodage)
Convertis un code point Unicode en octets UTF-16, avec choix de l'endianness.
Accepte U+XXXX, 0xXX, décimal, ou un caractère unique.
Décimal
127881
Hexadécimal
0x3C 0xD8 0x89 0xDF
Binaire
Étapes détaillées
- 01
Choisir l'endianness
L'octet de poids faible vient en premier dans chaque code unit (
Little Endian).Little Endian (LE) - 02
Choisir le format UTF-16
Plage
U+10000→U+10FFFF- au-delà du BMP, dans les plans supplémentaires (emojis, scripts historiques, CJK rare...). Encodé en paire de surrogates : 2 code units = 4 octets.2 code units · paire de surrogates - 03
Convertir en binaire
On retire
0x10000puis on garde les 20 bits restants.00001111001110001001 - 04
Découper pour les surrogates
On découpe les 20 bits en 2 paquets de 10 bits.
Les 10 bits de gauche (poids forts) forment le high surrogate, les 10 bits de droite (poids faibles) forment le low surrogate.
Chaque paquet de 10 bits représente un entier entre 0 et 1 023 (10 bits = 2¹⁰ = 1 024 valeurs). On l'ajoute à la base du surrogate :0xD800pour le high,0xDC00pour le low.0000111100 | 1110001001 - 05
Convertir en hexadécimal
Les 2 code units (high + low surrogate) donnent 4 octets, chaque code unit ordonné selon l'endianness.
0x3C 0xD8 0x89 0xDF