UTF-1
МИМ / IANA | ISO-10646-UTF-1 |
---|---|
Язык(и) | Международный |
Текущий статус | Малоизвестный, представляющий в основном исторический интерес. |
Классификация | Формат преобразования Unicode , расширенный ASCII , кодировка переменной ширины |
Расширяет | США-ASCII |
Преобразует/кодирует | ISO/IEC 10646 ( Юникод ) |
Преемник | UTF-8 |
UTF-1 — это метод преобразования ISO/IEC 10646 / Unicode в поток байтов . Его конструкция не обеспечивает самосинхронизацию , что затрудняет поиск подстрок и исправление ошибок. Он повторно использует печатные символы ASCII для многобайтовых кодировок, что делает его непригодным для некоторых целей (например, имена файлов Unix не могут содержать значение байта, используемое для косой черты). UTF-1 также медленно кодирует или декодирует из-за использования деления и умножения на число, которое не является степенью 2. Из-за этих проблем он не получил признания и был быстро заменен UTF-8 .
Дизайн [ править ]
Подобно UTF-8 , UTF-1 — это кодировка переменной ширины , обратно совместимая с ASCII . Каждая Юникода кодовая точка представлена либо одним байтом, либо последовательностью двух, трех или пяти байтов. Все кодовые точки ASCII представляют собой один байт (кодовые точки U + 0080 через U+009F также являются одиночными байтами).
UTF-1 не использует управляющие коды C0 и C1 или символ пробела в многобайтовых кодировках: байт в диапазоне 0–0x20 или 0x7F–0x9F всегда обозначает соответствующую кодовую точку. Этот дизайн с 66 защищенными символами пытался соответствовать стандарту ISO/IEC 2022 .
UTF-1 использует арифметику « по модулю 190» (256–66 = 190). Для сравнения, UTF-8 защищает все 128 символов ASCII, и для этого требуется один бит, а также второй бит для самосинхронизации, что приводит к арифметике «по модулю 64» ( 8 − 2 = 6 ; 2). 6 = 64 ). BOCU-1 защищает только минимальный набор, необходимый для MIME -совместимости (0x00, 0x07–0x0F, 0x1A–0x1B и 0x20), что приводит к арифметике «по модулю 243» (256–13 = 243).
кодовая точка | UTF-8 | UTF-1 |
---|---|---|
U + 007F | 7F | 7F |
U + 0080 | С2 80 | 80 |
U + 009F | С2 9F | 9F |
U + 00A0 | С2 А0 | А0 А0 |
U + 00BF | С2 БФ | А0 БФ |
U + 00C0 | С3 80 | А0 С0 |
U + 00FF | С3 БФ | А0 ФФ |
U + 0100 | С4 80 | А1 21 |
U + 015D | С5 9Д | А1 7Е |
U + 015E | С5 9Е | А1 А0 |
U + 01BD | С6 БД | A1 FF |
U + 01BE | C6 БЭ | А2 21 |
U + 07FF | ДФ БФ | АА 72 |
U + 0800 | Е0 А0 80 | АА 73 |
U+0FFF | E0 БФ БФ | Б5 48 |
U+1000 | Е1 80 80 | Б5 49 |
U + 4015 | Е4 80 95 | F5 ФФ |
U + 4016 | Е4 80 96 | Ф6 21 21 |
U + D7FF | ЭД 9Ф БФ | Ф7 2Ф С3 |
U+E000 | ЭЭ 80 80 | Ф7 3А 79 |
U+F8FF | ЭФ А3 БФ | Ф7 5С 3С |
U+FDD0 | ЭФ В7 90 | F7 62 БА |
U+FDEF | ЭФ Б7 АФ | Ф7 62 Д9 |
U+FEFF | ЭФ ББ БФ | Ф7 64 4С |
U+FFFD | ЭФ БФ БД | F7 65 г. н. э. |
U+FFFE | ЭФ БФ БЕ | F7 65 НЕТ |
U+FFFF | ЭФ БФ БФ | F7 65 ВЫКЛ. |
U+10000 | Ф0 90 80 80 | Ф7 65 Б0 |
U + 38E2D | F0 B8 B8 AD | ФБ ФФ ФФ |
U + 38E2E | F0 B8 B8 АЕ | ФК 21 21 21 21 |
U + FFFFF | F3 БФ БФ БФ | ФК 21 37 Б2 7А |
U+100000 | Ф4 80 80 80 | ФК 21 37 Б2 7Б |
U + 10FFFF | F4 8F БФ БФ | ФК 21 39 6E 6C |
U + 7FFFFFFFF | ФД БФ БФ БФ БФ БФ | ФД БД 2Б Б9 40 |
Хотя современный Unicode заканчивается на U+10FFFF, и UTF-1, и UTF-8 были разработаны для кодирования полных 31 бит исходного универсального набора символов ( UCS-4 ), и последняя запись в этой таблице показывает эту исходную окончательную кодовую точку. .
См. также [ править ]
Ссылки [ править ]
- «Стандарт Unicode: Приложение F FSS-UTF» (PDF) (PDF, 768 КиБ). Версия 1.1. Юникод, Инк.
- ISO/IEC JTC 1/SC2/WG2 (21 января 1993 г.). «ISO IR 178: Формат преобразования UCS One (UTF-1)» (PDF) (PDF, 256 КиБ) (1-е изд.). Регистрационный номер 178. Архивировано из оригинала (PDF) 18 марта 2015 г.
{{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка ) - Чиборра, Роман (30 ноября 1998 г.). «Форматы преобразования Unicode: UTF-8 и другие» . Архивировано из оригинала 7 июня 2016 г. Проверено 7 июня 2016 г.
- Ф. Йерго, Ф. (ноябрь 2003 г.). «UTF-8, формат преобразования ISO 10646» . дои : 10.17487/RFC3629 .
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь )