Krasorion.ru

Упаковочные материалы

UTF-16

UTF-16 (англ. Unicode Transformation Format) в информатике — один из способов кодирования символов из Unicode в виде последовательности 16-битных слов. Символы с кодами меньше 0x10000 () представляются как есть, а символы с кодами 0x10000—0x10FFFF — в виде последовательности двух 16-битных слов, первое из которых лежит в диапазоне 0xD800–0xDBFF, а второе — 0xDC00—0xDFFF. Ясно, что имеется как раз таких комбинаций.

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

  DC00 DFFE DFFF
D800 010000 0103FE 0103FF
D801 010400 0107FE 0107FF
DBFF 10FC00 10FFFE  

Следует отметить, что по стандарту никакие символы не могут иметь коды собственно из диапазона 0xD800—0xDFFF (их 2048, они отмечены рыжим и голубым цветами на диаграмме), так что расшифровка кодировки всегда однозначна. Впрочем, в подавляющем большинстве случаев текст в UTF-16 является просто последовательностью символов из UCS-2 (BMP), т.к. символы Unicode после кода 0x10000 используются крайне редко.

История появления

Первая версия Юникода (1991 г.) представляла собой 16-битную кодировку с фиксированной шириной символа; общее число разных символов было 216 (65 536). Во второй версии Юникода (1996 г.) было решено значительно расширить кодовую область; для сохранения совместимости с теми системами, где уже был реализован 16-битный Юникод, и была создана UTF-16. Область 0xD800—0xDFFF, отведённая для суррогатных пар, ранее принадлежала к области «символов для частного использования».

Поскольку в UTF-16 можно отобразить 220+216 - 2048 (1 112 064) символов, то это число и было выбрано в качестве новой величины кодового пространства Юникода.

UTF-16LE и UTF-16ВE

Т.к. в современных компьютерах размер байта равен 8 битам, то один «байт» кодировки UTF-16 приходится представлять последовательностью двух 8-битных байтов. Который из двух идёт впереди, старший или младший, зависит от порядка байтов. Систему, совместимую с процессорами x86, называют UTF-16LE (little endian), а с процессорами m68k и SPARCUTF-16ВE (big endian).

UTF-16 в ОС Windows

В API Win32, распространённом в современных версиях операционной системы Microsoft Windows, имеется два способа представления текста: в форме традиционных 8-битных кодовых страниц, и в виде UTF-16.

В файловых системах NTFS, а также FAT с поддержкой длинных имён, имена файлов записываются в UTF-16LE.

Ссылки

  • Unicode Technical Note #12: Обработка UTF-16  (англ.)
  • Unicode FAQ: В чём разница между UCS-2 и UTF-16?  (англ.)
  • RFC 2781: UTF-16, an encoding of ISO 10646
Кодировки символов
Основы → алфавиттекстфайлданные ) • набор символовконверсия
Исторические кодировки → Докомп.: семафорная (Макарова)МорзеБодоМТК-2 Комп.: 6 битУППRADIX-50EBCDICДКОИ-8 ) • КОИ-7ISO 646
совре-
менное
8-битное
представ-
ление
символы ASCIIуправляющиепечатные ) не-ASCIIпсевдографика )
8бит. код.стр. Разные →   Кириллица: КОИ-8ГОСТ 19768-87MacCyrillic
ISO 8859 → 1(лат.) 2 3 4 5(кир.) 6 7 8 9 10 11 12 13 14 15(€) 16
Windows → 1250 1251(кир.) 1252 1253 1254 1255 1256 1257 1258WGL4
IBM&DOS → 437850852855866 «альт.» • ( МИК ) • ( НИИ ЭВМ )
Много-
байтные
Традиционные → DBCSGB2312 ) • HTML
Unicode → UTF-16UTF-8список символовкириллица )
Связанные
темы →
интерфейс пользователяраскладка клавиатурылокальперевод строкишрифткракозябрытранслитнестандартные шрифтытекст как изображение Утилиты: iconvrecode


UTF-16.

© 2011–2023 krasorion.ru, Россия, Братск, ул. Ленинская 34, +7 (3953) 38-98-93