Кодовая страница 37


Кодовая страница 37 ( CCSID 37 ; метка IBM037), [1] , известная как «США/Канада — CECP», представляет собой кодовую страницу EBCDIC , используемую на мейнфреймах IBM. Он кодирует репертуар графических символовISO/IEC 8859-1 .

Кодовая страница 37 — одна из наиболее часто используемых и наиболее поддерживаемых кодовых страниц EBCDIC. Она используется в качестве кодовой страницы z/OS по умолчанию в США и других англоязычных странах. [2] Он считается «требуемой» кодовой страницей EBCDIC для США [3] , а также используется в Австралии , Новой Зеландии , Нидерландах , Португалии и Бразилии , а также в системах ESA/390 в Канаде , [4] но не в канадских системах AS/400 , которые вместо этого используют кодовую страницу 500 . [5]Это одна из четырех кодовых страниц EBCDIC (наряду с 500, 875 и 1026) с данными сопоставления, предоставленными Microsoft Консорциуму Unicode , [6] и одна из семи (наряду с 273, 424, 500, 875, 1026 и 1140 ), поддерживаемых Питон в стандартной комплектации. [7]

Кодовая страница 37 существует в двух версиях: [8] : 5·2  «базовый набор символов» или версия «DP94» (GCSGID 101 с CPGID 37 или CCSID 8229), содержащая только 94 графических символа, [9] [8] : 5·15  и версию "CECP" (расширенная кодовая страница страны) (GCSGID 697 с CPGID 37 или CCSID 37) с расширениями для поддержки всего репертуара ISO/IEC 8859-1. [4] [8] : 5·17 

Поскольку CP 037 содержит все стандартные символы Latin-1, можно преобразовать коды символов из набора символов CP 037 в коды символов ISO 8859-1 , так что перевод обратно в набор символов CP 037 является точным циклом сохранения значения. - конвертация поездки . Точно так же половина кодов управляющих символов может быть преобразована в их точные эквиваленты ASCII . Если оставшиеся только управляющие символы EBCDIC транслируются (произвольно) в оставшиеся неиспользуемые кодовые точки ASCII (шестнадцатеричные от 80 до 9F), результирующий перевод охватывает все 256 кодовых точек символов. Такая таблица перевода показана ниже:

Существует несколько других кодовых страниц, которые составляют кодовую страницу 37 с заменой нескольких символов. В частности, кодовая страница 37 кодирует жесткие скобки ( []) в шестнадцатеричном формате BA и шестнадцатеричном формате BB , в то время как в других вариантах используются другие кодировки для жестких скобок. Например, кодовая страница 1047 — это вариант, используемый компилятором MVS Open Systems. [12] Он отличается от кодовой страницы 37 в шести позициях: Ýи [поменяйте местами, как и ¨и ], поместив жесткие скобки в шестнадцатеричном AD и шестнадцатеричном BD ; знак вставки и знак "не" также меняются местами [13] [14]Эта кодировка скобок была унаследована от системы отображения 3270. [15] Хотя IBM намеревается использовать кодовую страницу 1047 только для выполнения определенных требований, а не в качестве замены кодовых страниц 37 и 500, [3] подмножество кодовой страницы 1047, кодирующее репертуар ASCII , использовалось для однобайтового графические коды в UTF-EBCDIC . [12]

Гибрид кодовых страниц 37 и 1047, используемый в сочетании с кодовой страницей 310 в системе 3279, был признан SHARE , но официально не обозначен как кодовая страница IBM, и иногда называется кодовой страницей 37-2 программным обеспечением для транскодирования . . [15] Он в основном соответствует кодовой странице 1047, за исключением того, что знак вставки и знак «не» инвертированы, чтобы соответствовать кодовой странице 37. [15] [16]