UTF-16

Encoding & Standards

Codificação Unicode de largura variável que usa 2 ou 4 bytes por caractere, usada internamente por JavaScript, Java e 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.

Termos relacionados

BOM (BOM) BOM (BOM)
A Marca de Ordem de Byte (U+FEFF) colocada no início de um arquivo de texto para indicar a ordem dos bytes (endianness) nas codificações UTF-16/UTF-32.
Par substituto Par substituto
Duas unidades de código UTF-16 (um substituto alto U+D800–U+DBFF seguido de um substituto baixo U+DC00–U+DFFF) que juntas representam um caractere acima de U+FFFF.
Plano Multilíngue Suplementar (SMP) Plano Multilíngue Suplementar (SMP)
Plano 1 do Unicode (U+10000 a U+1FFFF), onde a maioria dos pontos de código emoji está alocada.
Unidade de código Unidade de código
A combinação mínima de bits usada para codificar um caractere: 8 bits para UTF-8, 16 bits para UTF-16 e 32 bits para UTF-32.
UTF-32 UTF-32
Codificação Unicode de largura fixa que usa exatamente 4 bytes por caractere, permitindo mapeamento direto de pontos de código ao custo de mais espaço.
UTF-8 UTF-8
Codificação Unicode de largura variável que usa de 1 a 4 bytes por caractere, dominante na web (usada por mais de 98% dos sites).

Ferramentas relacionadas

🔢 Consulta Unicode Consulta Unicode
Digite um codepoint como U+1F600 e obtenha o emoji, detalhes de codificação, bytes UTF-8/16 e entidades HTML.