Кодировка символов


Кодирование символов — это процесс присвоения чисел графическим символам , особенно письменным символам человеческого языка , позволяющий их хранить , передавать и преобразовывать с помощью цифровых компьютеров . [1] Числовые значения, составляющие кодировку символов, известны как « кодовые точки » и в совокупности составляют «кодовое пространство», « кодовую страницу » или « карту символов ».

Ранние коды символов, связанные с оптическим или электрическим телеграфом, могли представлять собой только подмножество символов, используемых в письменных языках , иногда ограничиваясь только прописными буквами , цифрами и некоторыми знаками препинания . Низкая стоимость цифрового представления данных в современных компьютерных системах позволяет использовать более сложные коды символов (например, Unicode ), которые представляют большинство символов, используемых во многих письменных языках. Кодирование символов с использованием международно признанных стандартов позволяет осуществлять обмен текстом в электронной форме по всему миру.

История кодов символов иллюстрирует растущую потребность в машинной передаче символьной информации на расстоянии с использованием некогда новых электрических средств. Самые ранние коды были основаны на ручных и рукописных системах кодирования и шифрования, таких как шифр Бэкона , шрифт Брайля , международные морские сигнальные флаги и 4-значное кодирование китайских иероглифов для китайского телеграфного кода ( Ганс Шьеллеруп , 1869). С внедрением электрических и электромеханических технологий эти самые ранние коды были адаптированы к новым возможностям и ограничениям первых машин. Самый ранний хорошо известный код символов, передаваемый электрически, код Морзе , введенный в 1840-х годах, использовал систему из четырех «символов» (короткий сигнал, длинный сигнал, короткий пробел, длинный пробел) для генерации кодов переменной длины. Хотя в некоторых коммерческих целях код Морзе использовался с помощью оборудования, он часто использовался в качестве ручного кода, создаваемого вручную на телеграфном ключе и расшифровываемого на слух, и по-прежнему используется в любительском радио и в авиации . Большинство кодов имеют фиксированную длину каждого символа или последовательности кодов фиксированной длины переменной длины (например, Unicode ). [2]

Общие примеры систем кодирования символов включают код Морзе, код Бодо , американский стандартный код обмена информацией (ASCII) и Unicode. Unicode, четко определенная и расширяемая система кодирования, вытеснила большинство более ранних кодировок символов, но путь развития кода до настоящего времени довольно хорошо известен.

Код Бодо, пятибитовая кодировка , был создан Эмилем Бодо в 1870 году, запатентован в 1874 году, модифицирован Дональдом Мюрреем в 1901 году и стандартизирован CCITT как Международный телеграфный алфавит № 2 (ITA2) в 1930 году. Название Бодо имеет был ошибочно применен к ITA2 и его многочисленным вариантам. ITA2 имел множество недостатков и часто улучшался многими производителями оборудования, что иногда создавало проблемы совместимости. В 1959 году военные США определили свой шести- или семибитный код Fielddata , введенный Корпусом связи армии США. Хотя Fielddata решала многие современные на тот момент проблемы (например, коды букв и цифр, организованные для машинной сортировки), она не достигла своих целей и просуществовала недолго. В 1963 году комитет ASCII (в который входил по крайней мере один член комитета Fielddata, В. Ф. Леубберт) выпустил первый код ASCII (X3.4-1963), который устранил большинство недостатков Fielddata, используя более простой код. Многие изменения были незначительными, например, сопоставление наборов символов в определенных числовых диапазонах. ASCII63 имел успех, широко был принят в промышленности, а с последующим выпуском кода ASCII 1967 года (в котором были добавлены строчные буквы и исправлены некоторые проблемы с «управляющим кодом») ASCII67 получил довольно широкое распространение. Американско-ориентированный характер ASCII67 был в некоторой степени учтен в европейском стандарте ECMA-6 . [3]