Рассмотрим методы дискретного представления информации, или кодирования (которые, заметим, появились задолго до эры вычислительных машин).
Первым широко известным примером является азбука Морзе (табл. 1.2), в которой буквы латиницы (или кириллицы) и цифры кодируются сочетаниями из «точек» и «тире». Воспользуемся данным кодом для иллюстрации основных понятий, связанных с кодированием (не вдаваясь в теорию кодирования).
Таблица 1.2. Фрагменты кода Морзе
Символ входного алфавита
|
Мнемоническое обозначение по МСС*
|
Кодовая (знаковая) комбинация
|
А В С
Y Z
|
alfa bravo Charlie
yankee zulu
|
|
*Международный свод сигналов
Кодируемые (обозначаемые) элементы входного алфавита обычно называют символами.
Кодирующие (обозначающие) элементы выходного алфавита называются знаками; количество различных знаков в выходном алфавите назовем значностью (-арностью, -ичностью); количество знаков в кодирующей последовательности для одного символа — разрядностью кода; последовательным кодом является такой, в котором знаки следуют один за другим во времени (например, радио- или оптические сигналы либо передача по двум проводам, 2-жильному кабелю), параллельным — тот, в котором знаки передаются одновременно (например, по четырем проводам, 4-жильному кабелю), образуя символ (т. е. символ передается в один прием, в один момент времени). Применительно к азбуке Морзе (AM):
символами являются элементы языкового алфавита (буквы A—Z или А—Я) и цифровой алфавит (здесь — цифры 0-9);
знаками — «точка» и «тире» (или «+» и «-» либо «1» и «0», короче — два любых разных знака);
поскольку знаков два, AM является двузначным (бинарным, двоичным) кодом, если бы их было 3, то мы имели бы дело с троичным, тернарным, трехзначным кодом;
поскольку число знаков в AM колеблется от 1 (буквы «Е», «Т») до 5 (цифры), здесь имеет место код с переменной разрядностью (в AM часто встречающиеся в тексте символы обозначены более короткими кодовыми комбинациями, нежели редкие символы);
так как знаки передаются последовательно (электрические импульсы, звуковые или оптические сигналы разной длины, соответствующие «точкам» и «тире»), AM есть последовательный код.
Первые опыты телеграфной и радиосвязи осуществлялись именно посредством AM, причем приемное устройство записывало импульсы переменной длины в виде «точек» и «тире» на движущуюся телеграфную ленту, однако уже в начале XX в. был осуществлен переход на 5-разрядный (5-битовый) телеграфный код.
В табл. 1.3, 1.4 приводится перечень наиболее известных кодов, некоторые из них использовались первоначально для связи, кодирования данных, а затем для представления информации в ЭВМ:
код Бодо — 5-разрядный код, бывший в прошлом европейским стандартом для телеграфной связи (другое название — IA-1 — international alphabet #1);
М-2 (российское обозначение), или 1А-2 (международное обозначение), — телеграфный код, предложенный Международным консультационным комитетом по телефонии и телеграфии (МККТТ) и заменивший код Бодо (табл. 1.3);
Таблица 1.3. Разрядность некоторых наиболее известных кодов
Код
|
Разрядность
|
IA-2 (М-2, МКЮТ-2)
|
5
|
Baudot (Бодо)
|
5
|
ISO-7 (IA-5, ASCII-7, USASCII, ANSI X3.4)
|
7
|
EBCDIC
|
8
|
ASCII-8
|
8
|
Hollerith (Перфокарты Холлерита)
|
12
|
Таблица 1.4. Фрагменты некоторых кодовых таблиц
Символ
|
IA-2
|
Бодо
|
IS0-7
|
EBCDIC
|
ASCII-8
|
Холлерит
|
А
|
03
|
10
|
41
|
С1
|
А1
|
900
|
В
|
19
|
06
|
42
|
С2
|
А2
|
880
|
С
|
0Е
|
16
|
43
|
СЗ
|
A3
|
840
|
D
|
09
|
1Е
|
44
|
С4
|
А4
|
820
|
а
|
|
|
61
|
81
|
Е1
|
|
b
|
|
|
62
|
82
|
Е2
|
|
с
|
|
|
63
|
83
|
ЕЗ
|
|
d
|
|
|
64
|
84
|
Е4
|
|
. (точка)
|
1С
|
05
|
2Е
|
4В
|
4Е
|
842
|
,(запятая)
|
ОС
|
09
|
2С
|
6В
|
4С
|
242
|
:(двоеточие)
|
1Е
|
|
ЗВ
|
5Е
|
5В
|
40А
|
? (вопрос)
|
10
|
00
|
3F
|
6F
|
5F
|
206
|
ASCII (American Standard Code for Information Interchange) — стандартный 7-битовый код для передачи данных, поддерживает 128 символов, включающих прописные и строчные символы латиницы, цифры, специальные значки и управляющие символы. Этот код, к которому были добавлены некоторые национальные символы (10 бинарных комбинаций), был принят Международной организацией по стандартизации (ISO) как стандарт ISO-7;
EBCDIC (Expanded Binary Coded Decimal Information Code) — 8-разрядный код, предложенный фирмой IBM для машин серий IBM/360-375 (внутреннее представление данных в памяти), а затем распространившийся и на системы других производителей;
ASCI 1-8 — 8-разрядный код, принятый для внутреннего и внешнего представления данных в вычислительных системах. Включает стандартную часть (128 символов) и национальную (128 символов).
Соответственно в зависимости от национальной части кодовые таблицы различаются (табл. 1.5); код Холлерита, предложенный для ПК (1913 г.), затем использовавшийся для кодирования информации перед вводом в ЭВМ с перфокарт.
Таблица 1.5. Некоторые кодовые таблицы ACSCII
Наименование кодовой страницы (Code Page)
|
Интерпретация кодовой страницы
|
Latin-1
|
Международный стандарт (ISO-8859-1) для интерпретации 2-й половины (128-256) кода ASCII, таблица предназначена для латиницы
|
Latin-8
|
Международный стандарт (ISO-8859-8) для иврита
|
Latin-C
|
Международный стандарт (ISO-8859) для кириллицы
|
CP-437
|
Стандарт IBM для интерпретации 2-й половины (128-256) кода ASCII, таблица предназначена для греческого алфавита
|
CP-850
|
Стандарт IBM для восточноевропейских алфавитов
|
CP-852
|
Стандарт IBM для греческого алфавита
|
CP-862
|
Стандарт IBM для иврита
|
CP-866
|
Стандарт IBM для русской кириллицы
|
Одним из «последних слов» в процессе развития систем символьного кодирования является универсальный код UNICODE (UNIversal CODE) — стандарт 16-азрядного кодирования символов.
Стандарт UNICODE разработан техническим комитетом, в который вошли представители ряда ведущих фирм. Он определяет коды, обеспечивающие идентификацию различных символов: букв, иероглифов, цифр и т. д. Код может использоваться вместо 7—8-битовых, в том числе и ASCII. Поскольку в 16-разрядном UNICODE можно закодировать 65 536 символов вместо 128 в ASCII, то отпадает необходимость в создании модификаций таблиц кодов. Это существенно упрощает обработку текстовых файлов, хотя и несколько увеличивает их размеры.
UNICODE охватывает 28 000 букв, знаков, слогов, иероглифов национальных языков мира, 30 000 мест в UNICODE зарезервировано. Использование этого резерва дает возможность пользователям вводить математические или технические символы, а также создавать свои собственные символы.
При передаче данных часто используются избыточные коды, т. е. такие, которые за счет усложнения структуры позволяют повысить надежность передачи данных. К ним в первую очередь относятся коды с обнаружением ошибок. Чаще всего это циклические избыточные коды. Простая разновидность такого кода — код с контролем по четности. Широко используется для обнаружения ошибок в блоках данных также код контроля циклической избыточности CRC.
Важное значение имеют коды с исправлением ошибок. Использование этих кодов позволяет с большой вероятностью не только обнаруживать, но и исправлять возникшие при передаче ошибки (код Хемминга, позволяющий исправлять одиночные ошибки, появляющиеся в блоках данных).
Достарыңызбен бөлісу: |