UTF-EBCDIC

редактировать

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

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

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

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

Содержание

  • 1 Макет кодовой страницы
  • 2 Oracle UTFE
  • 3 См. Также
  • 4 Ссылки
  • 5 Внешние ссылки

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

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

UTF-EBCDIC
_0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F
0_NUL. 0000SOH. 0001STX. 0002ETX. 0003ST. 009CHT. 0009SSA. 0086DEL. 007FEPA. 0097RI. 008D. 008EVT. 000BFF. 000CCR. 000DSO. 000ESI. 000F
1_DLE. 0010DC1. 0011DC2. 0012DC3. 0013OSC. 009DLF. 000ABS. 0008ESA. 0087CAN. 0018EM. 0019PU2. 0092. 008FFS. 001CGS. 001DRS. 001EUS. 001F
2_. 0080. 0081. 0082. 0083IND. 0084NEL. 0085ETB. 0017ESC. 001B. 0088. 0089. 008APLD. 008BPLU. 008CENQ. 0005ACK. 0006BEL. 0007
3_DCS. 0090PU1. 0091SYN. 0016STS. 0093CCH. 0094MW. 0095SPA. 0096EOT. 0004SOS. 0098. 0099. 009ACSI. 009BDC4. 0014NAK. 0015. 009E. 001A
4_SP. 0020•. +00•. +01•. +02•. +03•. +04•. +05•. +06•. +07•. +08•. +09.. 002E<. 003C(. 0028+. 002B|. 007C
5_. 0026•. + 0A•. + 0B•. + 0C•. + 0D•. + 0E•. + 0F•. +10•. +11•. +12!. 0021$. 0024*. 002A). 0029;. 003B^. 005E
6_-. 002D/. 002F•. +13•. +14•. +15•. +16•. +17•. +18•. +19•. + 1A•. + 1B,. 002C%. 0025_. 005F>. 003E?. 003F
7_•. + 1C•. + 1D•. + 1E•. + 1F2. 00002. 00202. 00402. 00602. 0080`. 0060:. 003A#. 0023@. 0040'. 0027=. 003D". 0022
8_2. 00A0a. 0061b. 0062c. 0063d. 0064e. 0065f. 0066g. 0067h. 0068i. 00692. 00C02. 00E02. 01002. 01202. 01402. 0160
9_2. 0180j. 006Ak. 006Bl. 006Cm. 006Dn. 006Eo. 006Fp. 0070q. 0071r. 00722. 01A02. 01C02. 01E02. 02002. 02202. 0240
A_2. 0260~. 007Es. 0073t. 0074u. 0075v. 0076w. 0077x. 0078y. 0079z. 007A2. 02802. 02A02. 02C0[. 005B2. 02E02. 0300
B_2. 03202. 03402. 03602. 03802. 03A02. 03C02. 03E03. 00003. 04003. 08003. 0C003. 10003. 1400]. 005D3. 18003. 1C00
C_{. 007BA. 0041B. 0042C. 0043D. 0044E. 0045F. 0046G. 0047H. 0048I. 00493. 20003. 24003. 28003. 2C003. 30003. 3400
D_}. 007DJ. 004AK. 004BL. 004CM. 004DN. 004EO. 004FP. 0050Q. 0051R. 00523. 38003. 3C004. 40004. 80004. 100004. 18000
E_\. 005C4. 20000S. 0053T. 0054U. 0055V. 0056W. 0057X. 0058Y. 0059Z. 005A4. 280004. 300004. 380005. 400005. 100000
F_0. 00301. 00312. 00323. 00334. 00345. 00356. 00367. 00378. 00389. 0039APC. 009F

Буква Число Знаки препинания Символ Другое Не определено

Синие ячейки, содержащие большое однозначное число, обозначают статус rt байтов для последовательности из такого количества байтов. Номер точки шестнадцатеричного кода без жирного шрифта, показанный в ячейке, является наименьшим значением символа, закодированным с использованием этого начального байта. Это значение может быть больше, чем значение, которое было бы получено путем следования за начальным байтом байтов продолжения, которые все равны 65 (шестнадцатеричный 0x41), если это приведет к недопустимой слишком длинной форме.

Оранжевые ячейки с одной точкой - это байты продолжения. Шестнадцатеричное число, показанное после знака «+», является значением 5 добавляемых битов.

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

Oracle UTFE

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

Преимущества:

  • Только набор символов Unicode для EBCDIC.
  • Длина типов SQL CHAR может быть указана в количестве символов.
  • Двоичный порядок столбцов SQL CHAR такой же, как двоичный порядок столбцов SQL NCHAR, если данные состоят из тех же дополнительных символов. Следовательно, эти столбцы одинаково сортируют идентичные строки.

Недостатки:

  • Дополнительные символы занимают шесть байтов вместо четырех. Следовательно, необходимо преобразовать дополнительные символы.
  • UTFE не является стандартной кодировкой Unicode. Клиенты, которым требуется кодировка UTF-8, должны преобразовывать данные при извлечении и хранении.

См. Также

Ссылки

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

Последняя правка сделана 2021-06-20 08:52:00
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте