stringtranslate.com

UTF-EBCDIC

UTF-EBCDIC — это кодировка символов , способная кодировать все 1 112 064 допустимых кодовых точки символов в Юникоде с использованием от одной до пяти однобайтовых (8-битных) кодовых единиц (в отличие от максимум четырех для UTF-8 ). [1] Он предназначен для поддержки EBCDIC , чтобы устаревшие приложения EBCDIC на мэйнфреймах могли обрабатывать символы без особых затруднений. Его преимущества для существующих систем на основе EBCDIC аналогичны преимуществам UTF-8 для существующих систем на основе ASCII . Подробности о UTF-EBCDIC определены в Техническом отчете Unicode № 16.

Для создания версии серии кодовых точек Unicode в кодировке UTF-EBCDIC сначала применяется кодировка на основе UTF-8 (известная в спецификации как UTF-8-Mod) (создавая то, что в спецификации называется последовательностью I8). Основное различие между этой кодировкой и UTF-8 заключается в том, что она позволяет представлять кодовые точки Unicode от U+0080 до U+009F ( коды управления C1 ) в виде одного байта и, следовательно, позже сопоставлять их с соответствующими управляющими кодами EBCDIC. Чтобы добиться этого, UTF-8-Mod использует 101XXXXXXX вместо 10XXXXXX в качестве формата конечных байтов в многобайтовой последовательности. Поскольку он может содержать только 5 бит, а не 6, кодировка UTF-8-Mod кодовых точек выше U + 03FF больше, чем кодировка UTF-8.

Преобразование UTF-8-Mod оставляет данные в формате на основе ASCII (например, U+0041 «A» по-прежнему кодируется как 01000001), поэтому каждый байт проходит через обратимую (один-к-одному) справочную таблицу. для создания окончательной кодировки UTF-EBCDIC. Например, 01000001 в этой таблице соответствует 11000001; таким образом, кодировка U+0041 U+0041 (буква Unicode «A») UTF-EBCDIC равна 0xC1 (буква «A» EBCDIC).

Эта форма кодирования используется редко, даже на мэйнфреймах на базе EBCDIC, для которых она была разработана. Операционные системы для мэйнфреймов на базе IBM EBCDIC, такие как z/OS , обычно используют UTF-16 для полной поддержки Unicode. Например, IBM Db2 , COBOL , PL/I , Java и набор инструментов IBM XML поддерживают UTF-16 на мэйнфреймах IBM.

Макет кодовой страницы

В UTF-EBCDIC содержится 160 символов с однобайтовой кодировкой (по сравнению со 128 в UTF-8). Как видно, однобайтовая часть аналогична IBM-1047 вместо IBM-37 из-за расположения квадратных скобок. CCSID 37 имеет [] в шестнадцатеричных BA и BB вместо шестнадцатеричных AD и BD соответственно.

  Начальные байты для последовательности из такого количества байтов. Подсказка показывает наименьшую кодовую точку, закодированную с использованием этого начального байта.
  Начальный байт, в котором не все комбинации байтов продолжения допустимы, либо потому, что это недопустимая слишком длинная форма (в подсказке отображается кодовая точка первой допустимой последовательности), либо потому, что он кодирует кодовую точку, большую, чем U+10FFFF.
  Байты продолжения. Подсказка показывает шестнадцатеричное значение пяти добавляемых битов.
  Неиспользуемые, включая ведущие байты, которые могут начинать только недопустимую слишком длинную форму. Например, 0x76, потому что даже 0x76 0x73 (который соответствует последовательности UTF-8-Mod 0xC2 0xBF) будет просто слишком длинной кодировкой U+005F (правильно закодированной как UTF-8-Mod 0x5F, UTF-EBCDIC 0x6D).

Oracle UTFE

Oracle UTFE — это вариант базы данных Oracle Unicode 3.0 UTF-8 , аналогичный варианту UTF -8 CESU- 8, где дополнительные символы кодируются как два 4-байтовых символа, а не как один 4- или 5-байтовый символ. Он используется только на платформах EBCDIC. [2]

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

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

  1. ^ "UTR № 16: UTF-EBCDIC" . www.unicode.org . Проверено 23 февраля 2021 г. Вам необходимо выполнить поиск не более пяти байтов (семи байтов, если рассматривать полный диапазон в 31 бит ISO/IEC 10646) назад.
  2. ^ Бэрд, Кэти; Чиба, Дэн; Чу, Уинсон; Фан, Джессика; Хо, Клэр; Закон, Саймон; Ли, Джефф; Линсли, Питер; Мацуда, Кени; Оскрофт, Тэмзин; Такеда, Сиге; Танака, Лайнус; Тозава, Макото; Это правда, Барри; Цудзимото, Маюми; Ву, Ин; Яу, Майкл; Ю, Тим; Ван, Чао; Вонг, Саймон; Чжан, Вейран; Чжэн, Лэй; Чжу, Ян; Мур, Валари (2002) [1996]. «Приложение A: Региональные данные». Руководство по поддержке глобализации баз данных Oracle9i (PDF) (выпуск 2 (9.2) ред.). Корпорация Оракл . Оракул A96529-01. Архивировано (PDF) из оригинала 14 февраля 2017 г. Проверено 14 февраля 2017 г.

Внешние ссылки