Кодирование символьной информации
Рассмотрим методы дискретного представления информации, или кодирования (которые, надо сказать, появились задолго до вычислительных машин). Первым широко известным примером является Азбука Морзе (табл. 3), в которой буквы латиницы (или кириллицы) и цифры кодируются сочетаниями из "точек" и "тире". Воспользуемся данным кодом для иллюстрации основных понятий, связанных с кодированием (не вдаваясь в теорию кодирования).
Таблица 18
Фрагменты кода Морзе
Символ входного алфавита |
Мнемоническое обозначение по МСС*) |
Кодовая (знаковая) комбинация |
A B C D E ... Y Z 1 ... 9 |
alfa bravo charlie delta echo ... yankee zulu one ... nine |
.- -... -.-. -.. . ... -.-- --.. .---- ... ----. |
*) Международный Свод Сигналов
Кодируемые (обозначаемые) элементы входного алфавита называются символами; кодирующие (обозначающие) элементы выходного алфавита - знаками; количество различных знаков в выходном алфавите назовем значностью (-арностью, -ичностью); количество знаков в кодирующей последовательности для одного символа - разрядностью кода; последовательным кодом является такой, в котором знаки следуют один за другим во времени (например, радио- или оптические сигналы, либо передача по двум проводам, двужильному кабелю,), параллельным - тот, в котором знаки передаются одновременно (например, по 4-м проводам, 4-жильному кабелю), образуя символ (т.е. символ передается в один прием, в один момент времени).
Применительно к азбуке Морзе (АМ):
- символами являются элементы языкового алфавита (буквы А - Z или А - Я) и цифровой алфавит (здесь - цифры 0 - 9);
- знаками - точка и тире (или + и - либо 1 и 0, короче - два любых разных знака);
- поскольку знаков два, АМ является двузначным (бинарным, двоичным) кодом, если бы их было 3, то мы имели бы дело с троичным, тернарным, трехзначным кодом;
- поскольку число знаков в АМ колеблется от 1 (буквы Е, Т) до 5 (цифры), здесь имеет место код с переменной разрядностью (в АМ часто встречающиеся в тексте символы обозначены более короткими кодами, нежели редкие символы).
Рис. 19. Перфокарта Холлерита
Поскольку знаки передаются последовательно (электрические импульсы, звуковые или оптические сигналы разной длины, соответствующие "точкам" и "тире"), АМ есть последовательный код (можно представить себе некоторое табло, на котором вспыхивали бы сочетания лампочек, образующих точки и тире, одновременно представляющие передаваемый символ, но автору не приходилось слышать о подобных абсурдных приспособлениях).
Первые опыты телеграфной и радиосвязи осуществлялись именно посредством АМ, причем приемное устройство записывало импульсы переменной длины в виде "точек" и "тире" на движущуюся телеграфную ленту, однако уже в начале ХХ-го века был осуществлен переход на 5-разрядный (5-битовый) телеграфный код.
В таблице 19 приводится перечень наиболее известных кодов, некоторые из них использовались первоначально для связи, кодирования данных, а затем - для представления информации в ЭВМ:
- код Бодо - 5 разрядный код, бывший в прошлом европейским стандартом для телеграфной связи (другое название - IA-1 - international alphabet #1);
- M-2 (российское обозначение) или IA-2 (международное обозначение) - телеграфный код, предложенный Международным Комитетом по телефонии и телеграфии (МККТТ) и заменивший код Бодо;
- 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 (внутреннее представление данных в памяти), а затем распространившийся и на системы других производителей;
- ASCII-8 - 8-разрядный код, принятый для внутреннего и внешнего представления данных в вычислительных системах. Включает стандартную часть (128 символов) и национальную (128 символов). Соответственно, в зависимости от национальной части, кодовые таблицы различаются (см. Приложения 2-3)
- код Холлерита, предложенный для ПК (1913 год), затем использовавшийся для кодирования информации перед вводом в ЭВМ с перфокарт (рис.19).
Таблица 19
Некоторые кодовые таблицы
Наименование кодовой страницы (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 для русской кириллицы |
Таблица 20
Разрядность некоторых наиболее известных кодов
Код |
Разрядность |
IA-2 (M2, МККТТ-2) |
5 |
Baudot (Бодо) |
5 |
ISO-7 (IA-5, ASCII-7, USASCII, ANSI X3.4) |
7 |
EBCDIC |
8 |
ASCII-8 |
8 |
Hollerith (Перфокарты Холлерита) |
12 |
Таблица 21
Фрагменты некоторых кодовых таблиц
Символ |
IA-2 |
Бодо |
ISO-7 |
EBCDIC |
ASCII-8 |
Холлерит |
A |
03 |
10 |
41 |
C1 |
A1 |
900 |
B |
19 |
06 |
42 |
C2 |
A2 |
880 |
C |
0E |
16 |
43 |
C3 |
A3 |
840 |
D |
09 |
1E |
44 |
C4 |
A4 |
820 |
a |
|
|
61 |
81 |
E1 |
|
b |
|
|
62 |
82 |
E2 |
|
c |
|
|
63 |
83 |
E3 |
|
d |
|
|
64 |
84 |
E4 |
|
. (точка) |
1C |
05 |
2E |
4B |
4E |
842 |
, (запятая) |
0C |
09 |
2C |
6B |
4C |
242 |
:(двоеточие) |
1E |
|
3B |
5E |
5B |
40A |
? (вопрос) |
10 |
0D |
3F |
6F |
5F |
206 |