UTF-16

Encoding & Standards

Codificación Unicode de ancho variable que utiliza 2 o 4 bytes por carácter, empleada internamente por JavaScript, Java y 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.

Términos relacionados

BOM (BOM) BOM (BOM)
La marca de orden de bytes (U+FEFF) colocada al inicio de un archivo de texto para indicar el orden de bytes (endianness) en codificaciones UTF-16/UTF-32.
Par sustituto Par sustituto
Dos unidades de código UTF-16 (un sustituto alto U+D800–U+DBFF seguido de un sustituto bajo U+DC00–U+DFFF) que juntas representan un carácter superior a U+FFFF.
Plano Multilingüe Suplementario (SMP) Plano Multilingüe Suplementario (SMP)
Plano 1 de Unicode (U+10000 a U+1FFFF), donde se asigna la mayoría de los puntos de código emoji.
Unidad de código Unidad de código
La combinación mínima de bits utilizada para codificar un carácter: 8 bits para UTF-8, 16 bits para UTF-16 y 32 bits para UTF-32.
UTF-32 UTF-32
Codificación Unicode de ancho fijo que utiliza exactamente 4 bytes por carácter, lo que permite un mapeo directo de puntos de código a costa de mayor espacio.
UTF-8 UTF-8
Codificación Unicode de ancho variable que utiliza de 1 a 4 bytes por carácter, dominante en la web (usada por más del 98 % de los sitios web).

Herramientas relacionadas

🔢 Búsqueda Unicode Búsqueda Unicode
Ingresa un punto de código como U+1F600 y obtén el emoji, detalles de codificación, bytes UTF-8/16 y entidades HTML.