UTF-EBCDIC
Сделано | ИБМ |
---|---|
Определения | Технический отчет Unicode № 16 |
На основе | UTF-8 |
Преобразует/кодирует | Юникод |
UTF-EBCDIC — это кодировка символов, способная кодировать все 1 112 064 допустимых кодовых точки символов в Юникоде, используя от 1 до 5 байтов (в отличие от максимума 4 для 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 использует 101xxxxxx вместо 10xxxxxx как формат конечных байтов в многобайтовой последовательности. Поскольку он может содержать только 5 бит, а не 6, кодировка UTF-8-Mod приведенных выше кодовых точек U+03FF больше, чем кодировка UTF-8.
Преобразование UTF-8-Mod оставляет данные в формате ASCII (например, U+0041 «A» по-прежнему кодируется как 0x41 ), поэтому каждый байт проходит через обратимую (один-к-одному) справочную таблицу для получения окончательной кодировки UTF-EBCDIC. Например, 0x41 в этой таблице соответствует 0xC1 ; таким образом, кодировка UTF-EBCDIC U+0041 (буква Юникода «А») — это 0xC1 (EBCDIC «A»).
UTF-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 соответственно.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | А | Б | С | Д | И | Ф | |
0x | НУЛЕВОЙ | СОХ | СТХ | И Т. Д | СТ | ХТ | ССА | ПРИНАДЛЕЖАЩИЙ | Агентство по охране окружающей среды | РИ | СС2 | ВТ | ФФ | ЧР | ТАК | И |
1x | В СООТВЕТСТВИИ С | DC1 | DC2 | DC3 | ОСК | НЧ | БС | ЧТО | МОЖЕТ | В | ПУ2 | СС3 | ФС | GS | РС | НАС |
2x | ПАД | ПРЫГАТЬ | ДГПЖ | НБХ | В | В | ЭТБ | ЭКУ | ХТС | ХТДЖ | СУДС | ПЛД | БОЛЕЕ | ENQ | ПОДТВЕРЖДЕНИЕ | БЕЛ |
3x | DCS | ПУ1 | СИН | СТС | КСН | МВт | СПА | EOT | SOS | СИГИ | SCI | CSI | DC4 | ХОТЕТЬ | ВЕЧЕРА | СУБ |
4x | СП | • | • | • | • | • | • | • | • | • | • | . | < | ( | + | | |
5x | & | • | • | • | • | • | • | • | • | • | ! | $ | * | ) | ; | ^ |
6x | - | / | • | • | • | • | • | • | • | • | • | , | % | _ | > | ? |
7x | • | • | • | • | 2 | 2 | 2 | 2 | 2 | ` | : | # | @ | ' | = | " |
8x | 2 | а | б | с | д | Это | ж | г | час | я | 2 | 2 | 2 | 2 | 2 | 2 |
9x | 2 | дж | к | л | м | н | О | п | д | р | 2 | 2 | 2 | 2 | 2 | 2 |
Топор | 2 | ~ | с | т | в | v | В | Икс | и | С | 2 | 2 | 2 | [ | 2 | 2 |
Бх | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | 3 | 3 | ] | 3 | 3 |
Сх | { | А | Б | С | Д | И | Ф | г | ЧАС | я | 3 | 3 | 3 | 3 | 3 | 3 |
Дх | } | Дж | К | л | М | Н | О | п | вопрос | р | 3 | 3 | 4 | 4 | 4 | 4 |
Бывший | \ | 4 | С | Т | В | V | В | Икс | И | С | 4 | 4 | 4 | 5 | 5 | |
Форекс | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | БТР |
Oracle UTFE [ править ]
Oracle UTFE Unicode 3.0 UTF-8 — это вариант базы данных Oracle , аналогичный варианту UTF -8 CESU-8 , где дополнительные символы кодируются как два 4-байтовых символа, а не как один 4- или 5-байтовый символ. Он используется только на платформах EBCDIC. [2]
См. также [ править ]
Ссылки [ править ]
- ^ «UTR № 16: UTF-EBCDIC» . www.unicode.org . Проверено 23 февраля 2021 г.
Вам необходимо выполнить поиск не более пяти байтов (семи байтов, если рассматривать полный диапазон в 31 бит ISO/IEC 10646) назад.
- ^ Бэрд, Кэти; Чиба, Дэн; Чу, Уинсон; Фан, Джессика; Хо, Клэр; Закон, Саймон; Ли, Джефф; Линсли, Питер; Мацуда, Кени; Оскрофт, Тэмзин; Такеда, Сиге; Танака, Лайнус; Тозава, Макото; Это правда, Барри; Цудзимото, Маюми; Ву, Ин; Яу, Майкл; Ю, Тим; Ван, Чао; Вонг, Саймон; Чжан, Вейран; Чжэн, Лэй; Чжу, Ян; Мур, Валари (2002) [1996]. «Приложение A: Региональные данные». Руководство по поддержке глобализации баз данных Oracle9i (PDF) (выпуск 2 (9.2) ред.). Корпорация Оракл . Оракул A96529-01. Архивировано (PDF) из оригинала 14 февраля 2017 г. Проверено 14 февраля 2017 г.
Внешние ссылки [ править ]
- В.С. Умамахесваран, Технический отчет Unicode № 16: определение UTF-EBCDIC (16 апреля 2002 г.)