Введение
Система кодирования восьмибитных символов, изобретенная IBM. Extended Binary Coded Decimal Interchange Code (EBCDIC;
Extended Binary Coded Decimal Interchange Code (EBCDIC;
While IBM was a chief proponent of the ASCII standardization committee, Conversely EBCDIC had a few characters such as (US cent) that got used on IBM systems and could not be translated to ASCII. The most common newline convention used with EBCDIC is to use a NEL (NEXT LINE) code between lines. Converters to other encodings often replace NEL with LF or CR/LF, even if there is a NEL in the target encoding. This causes the LF and NEL to translate to the same character and be unable to be distinguished. If seven bit ASCII was used, there was an "unused" high bit in 8 bit bytes, and many pieces of software stored other information there. Software would also pack the seven bits and discard the eighth, such as packing five seven bit ASCII characters in a 36 bit word. On the PDP 11 bytes with the high bit set were treated as negative numbers, behavior that was copied to C, causing unexpected problems if the high bit was set. These all made it difficult to switch from ASCII to the 8 bit EBCDIC (and also made it difficult to switch to 8 bit extended ASCII encodings).
В то время как IBM была одним из главных сторонников комитета по стандартизации ASCII, EBCDIC содержал несколько символов, таких как (US cent), которые использовались в системах IBM и не могли быть переведены в ASCII. Наиболее распространенным способом переноса строки в EBCDIC является использование кода NEL (NEXT LINE) между строками. Преобразователи в другие кодировки часто заменяют NEL на LF или CR/LF, даже если NEL присутствует в целевой кодировке. Это приводит к тому, что LF и NEL отображаются в один и тот же символ и их становится невозможно различить. Если использовалась семибитная ASCII, в восьмибитных байтах оставался "неиспользуемый" старший бит, и многие программы хранили в нем дополнительную информацию. Программы также могли упаковывать семь бит и отбрасывать восьмой, например, помещая пять семибитных символов ASCII в 36-битное слово. На PDP-11 байты со старшим битом, установленным в 1, интерпретировались как отрицательные числа, такое поведение было перенесено в C, что приводило к неожиданным проблемам при установленном старшем бите. Все это затрудняло переход с ASCII на восьмибитный EBCDIC (а также на восьмибитные расширенные кодировки ASCII).
Extended Binary Coded Decimal Interchange Code (EBCDIC;
While IBM was a chief proponent of the ASCII standardization committee, Conversely EBCDIC had a few characters such as (US cent) that got used on IBM systems and could not be translated to ASCII. The most common newline convention used with EBCDIC is to use a NEL (NEXT LINE) code between lines. Converters to other encodings often replace NEL with LF or CR/LF, even if there is a NEL in the target encoding. This causes the LF and NEL to translate to the same character and be unable to be distinguished. If seven bit ASCII was used, there was an "unused" high bit in 8 bit bytes, and many pieces of software stored other information there. Software would also pack the seven bits and discard the eighth, such as packing five seven bit ASCII characters in a 36 bit word. On the PDP 11 bytes with the high bit set were treated as negative numbers, behavior that was copied to C, causing unexpected problems if the high bit was set. These all made it difficult to switch from ASCII to the 8 bit EBCDIC (and also made it difficult to switch to 8 bit extended ASCII encodings).
Расположение страницы кода
Существуют сотни кодовых страниц EBCDIC, основанных на исходной кодировке символов EBCDIC. Различные кодовые страницы EBCDIC предназначены для использования в разных частях мира, включая кодовые страницы для нелатинских систем письма, таких как китайский, японский (например, EBCDIC 930, JEF и KEIS), корейский и греческий (EBCDIC 875). Также существует огромное количество вариаций, в которых символы переставлены без видимой причины. В таблице ниже показано "инвариантное подмножество" EBCDIC – это символы, которые должны иметь одинаковое соответствие на всех кодовых страницах EBCDIC, использующих латинский алфавит. (Это включает в себя большую часть инвариантного репертуара ISO/IEC 646, за исключением восклицательного знака.) Также показаны (серым цветом) отсутствующие знаки препинания ASCII и EBCDIC, расположенные в тех же позициях, что и на кодовой странице 37 (один из вариантов кодовой страницы EBCDIC). Пустые ячейки заполняются символами, специфичными для конкретного региона, но символы, выделенные серым цветом, часто также меняются местами или заменяются. Как и ASCII, инвариантное подмножество работает только для языков, использующих базовый латинский алфавит ISO, таких как английский (за исключением заимствованных слов и некоторых редких орфографических вариантов) и голландский (если лигатуры "ij" и "IJ" записываются как два отдельных символа).