UTF-16

Encoding & Standards

Кодировка Unicode переменной ширины, использующая 2 или 4 байта на символ; применяется внутри JavaScript, Java и 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.

Похожие термины

BOM (BOM) BOM (BOM)
Метка порядка байтов (U+FEFF), помещаемая в начало текстового файла для указания порядка байтов (порядка следования) в кодировках UTF-16/UTF-32.
UTF-32 UTF-32
Кодировка Unicode фиксированной ширины, использующая ровно 4 байта на символ; обеспечивает прямое отображение кодовых точек за счёт увеличенного размера файла.
UTF-8 UTF-8
Кодировка Unicode переменной ширины, использующая от 1 до 4 байт на символ; является доминирующей в интернете (применяется более чем на 98% сайтов).
Дополнительная многоязыковая плоскость (SMP) Дополнительная многоязыковая плоскость (SMP)
Плоскость 1 Unicode (U+10000 — U+1FFFF), в которой размещено большинство кодовых точек эмодзи.
Кодовый блок Кодовый блок
Минимальная битовая комбинация, используемая для кодирования символа: 8 бит для UTF-8, 16 бит для UTF-16 и 32 бита для UTF-32.
Суррогатная пара Суррогатная пара
Два кодовых блока UTF-16 (старший суррогат U+D800–U+DBFF, за которым следует младший суррогат U+DC00–U+DFFF), совместно представляющих символ выше U+FFFF.

Похожие инструменты

🔢 Поиск в Unicode Поиск в Unicode
Введите кодовую точку, например U+1F600, и получите эмодзи, сведения о кодировке, байты UTF-8/16 и HTML-сущности.