UTF-1 - UTF-1

UTF-1
Язык (и)Международный
Текущее состояниеНеизвестно, представляет в основном исторический интерес.
КлассификацияФормат преобразования Unicode, расширенный ASCII, кодирование с переменной шириной
РасширяетсяUS-ASCII
Преобразует / кодируетISO 10646 (Unicode )
ПреемникUTF-8

UTF-1 это метод преобразования ISO 10646 /Unicode в поток байты. Его конструкция не предусматривает самосинхронизация, что делает поиск подстроки и восстановление после ошибок сложно. Он повторно использует символы печати ASCII для многобайтовых кодировок, что делает его непригодным для некоторых применений (например, имена файлов Unix не могут содержать байтовое значение, используемое для прямой косой черты). UTF-1 также медленно кодирует или декодирует из-за использования деления и умножения на число, которое не является степенью 2. Из-за этих проблем он не получил распространения и был быстро заменен UTF-8.

Дизайн

Похожий на UTF-8, UTF-1 - это кодирование с переменной шириной который обратно совместим с ASCII. Каждый Unicode кодовая точка представлен либо одним байтом, либо последовательностью из двух, трех или пяти байтов. ASCII поддерживается с помощью однобайтовых кодировок, которые, в отличие от кодировок UTF-8, также включают кодовые точки, отличные от ASCII. U + 0080 через U + 009F.

UTF-1 не использует Коды управления C0 и C1 или пробел в многобайтовой кодировке: байт в диапазоне 0–0x 20 или 0x7F – 0x9F всегда обозначает соответствующую кодовую точку. Этот дизайн с 66 защищенный персонажи пытались быть ISO 2022 совместимый.

UTF-1 использует "по модулю 190-дюймовая арифметика (256 - 66 = 190). Для сравнения, UTF-8 защищает все 128 символов ASCII, и для этого требуется один бит, а второй бит - для самосинхронизации, в результате чего получается арифметика по модулю 64 (8 − 2 = 6; 26 = 64). BOCU-1 защищает только минимальный набор, необходимый для MIME -совместимость (0x00, 0x07–0x0F, 0x1A – 0x1B и 0x20), в результате чего получается арифметика «по модулю 243» (256 - 13 = 243).

кодовая точкаUTF-8UTF-1
U + 007F7F7F
U + 0080C2 8080
U + 009FC2 9F9F
U + 00A0C2 A0A0 A0
U + 00BFC2 BFA0 BF
U + 00C0C3 80A0 C0
U + 00FFC3 BFA0 FF
U + 0100C4 80A1 21
U + 015DC5 9DA1 7E
U + 015EC5 9EA1 A0
U + 01BDC6 BDA1 FF
U + 01BEC6 BEA2 21
U + 07FFDF BFAA 72
U + 0800E0 A0 80AA 73
U + 0FFFE0 BF BFB5 48
U + 1000E1 80 80B5 49
U + 4015E4 80 95F5 FF
U + 4016E4 80 96F6 21 21
U + D7FFED 9F BFF7 2F C3
U + E000EE 80 80F7 3A 79
U + F8FFEF A3 BFF7 5C 3C
U + FDD0EF B7 90F7 62 BA
U + FDEFEF B7 AFF7 62 D9
U + FEFFEF BB BFF7 64 4C
U + FFFDEF BF BDF7 65 г. н.э.
U + FFFEEF BF BEF7 65 AE
U + FFFFEF BF BFF7 65 AF
U + 10000F0 90 80 80F7 65 B0
U + 38E2DF0 B8 B8 ADFB FF FF
U + 38E2EF0 B8 B8 AEФК 21 21 21 21
U + FFFFFF3 BF BF BFFC 21 37 B2 7A
U + 100000F4 80 80 80FC 21 37 B2 7B
U + 10FFFFF4 8F BF BFFC 21 39 6E 6C
U + 7FFFFFFFFD BF BF BF BF BFFD BD 2B B9 40

Хотя современный Unicode заканчивается на U + 10FFFF, UTF-1 и UTF-8 были разработаны для кодирования всего 31 бита оригинала. Универсальный набор символов (UCS-4 ), а последняя запись в этой таблице показывает исходный окончательный код.

Смотрите также

Рекомендации

  • «Стандарт Unicode: Приложение F FSS-UTF» (PDF) (PDF, 768 Кбайт). Версия 1.1. Unicode, Inc.
  • ISO / IEC JTC 1 / SC2 / WG2 (1993-01-21). «ISO IR 178: UCS Transformation Format One (UTF-1)» (PDF) (PDF, 256 Кбайт) (1-е изд.). Регистрационный номер 178.
  • Чиборра, Роман (1998-11-30). «Форматы преобразования Unicode: UTF-8 и Co». В архиве из оригинала от 07.06.2016. Получено 2016-06-07.
  • Ф. Йерго, Ф. «UTF-8, формат преобразования ISO 10646».