Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Дизайн [ править ]

Подобно UTF-8 , UTF-1 - это кодировка переменной ширины, которая обратно совместима с ASCII . Каждая кодовая точка Unicode представлена ​​либо одним байтом, либо последовательностью из двух, трех или пяти байтов. ASCII , поддерживается с помощью одного байта кодировки, которые, в отличие от UTF-8, также включают в себя точки не-ASCII - код через .U+0080U+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 ; 2 6 = 64 ). BOCU-1 защищает только минимальный набор, необходимый для совместимости с MIME (0x00, 0x07–0x0F, 0x1A – 0x1B и 0x20), что приводит к арифметике «по модулю 243» (256–13 = 243).

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

См. Также [ править ]

Ссылки [ править ]