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-8 | UTF-1 |
---|---|---|
U + 007F | 7F | 7F |
U + 0080 | C2 80 | 80 |
U + 009F | C2 9F | 9F |
U + 00A0 | C2 A0 | A0 A0 |
U + 00BF | C2 BF | A0 BF |
U + 00C0 | C3 80 | A0 C0 |
U + 00FF | C3 BF | A0 FF |
U + 0100 | C4 80 | A1 21 |
U + 015D | C5 9D | A1 7E |
U + 015E | C5 9E | A1 A0 |
U + 01BD | C6 BD | A1 FF |
U + 01BE | C6 BE | A2 21 |
U + 07FF | DF BF | AA 72 |
U + 0800 | E0 A0 80 | AA 73 |
U + 0FFF | E0 BF BF | B5 48 |
U + 1000 | E1 80 80 | B5 49 |
U + 4015 | E4 80 95 | F5 FF |
U + 4016 | E4 80 96 | F6 21 21 |
U + D7FF | ED 9F BF | F7 2F C3 |
U + E000 | EE 80 80 | F7 3A 79 |
U + F8FF | EF A3 BF | F7 5C 3C |
U + FDD0 | EF B7 90 | F7 62 BA |
U + FDEF | EF B7 AF | F7 62 D9 |
U + FEFF | EF BB BF | F7 64 4C |
U + FFFD | EF BF BD | F7 65 г. н.э. |
U + FFFE | EF BF BE | F7 65 AE |
U + FFFF | EF BF BF | F7 65 AF |
U + 10000 | F0 90 80 80 | F7 65 B0 |
U + 38E2D | F0 B8 B8 AD | FB FF FF |
U + 38E2E | F0 B8 B8 AE | ФК 21 21 21 21 |
U + FFFFF | F3 BF BF BF | FC 21 37 B2 7A |
U + 100000 | F4 80 80 80 | FC 21 37 B2 7B |
U + 10FFFF | F4 8F BF BF | FC 21 39 6E 6C |
U + 7FFFFFFF | FD BF BF BF BF BF | FD 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».