Алфавитное равномерное двоичное кодирование. Код Бодо и байтовый код

В данном случае двоичный код первичного алфавита строится цепочками равной длины, т.е. со всеми знаками связано одинаковое количество информации равное I(А)=Log 2 N.

Приемное устройство отсчитывает k элементарных сигналов, сопоставляет их с кодовой таблицей и интерпретирует.

При этом недопустимы сбои. Пропуск одного элементарного сигнала приведет к сдвигу всей кодовой последовательности и неправильной ее интерпретации. Эта проблема решается путем синхронизации передачи данных.

В тоже время применение равномерного кода оказывается одним из средств контроля правильности передачи, поскольку факт поступления лишнего элементарного сигнала или, наоборот, поступление неполного кода сразу интерпретируется как ошибка.

Телеграфный код Бодо

Примером равномерного алфавитного кодирования является телеграфный код Бодо, пришедший на смену азбуке Морзе.

Исходный алфавит должен содержать не более 32-х символов(е=ё, ь=ъ, нет знаков препинания: «зпт», «тчк»).

K(А,2) = log232 = 5, т.е. каждый знак содержит 5 бит информации.

Избыточность кода Бодо:

- для русского языка Q(r) = 0,129,

- для английского Q(e) = 0,193.

Представление символьной информации в ВМ. Байтовый код

Другим примером использования равномерного алфавитного кодирования является представление символьной информации в компьютере.

Компьютерный алфавит должен включать:

- 26 Алфавитное равномерное двоичное кодирование. Код Бодо и байтовый код - student2.ru 2=52 букв латинского алфавита (с учетом прописных и строчных);

- 33 Алфавитное равномерное двоичное кодирование. Код Бодо и байтовый код - student2.ru 2=66 букв русского алфавита;

- цифры 0...9 – всего 10;

- знаки математических операций, знаки препинания, спецсимволы Алфавитное равномерное двоичное кодирование. Код Бодо и байтовый код - student2.ru 20.

Получаем, что общее число символов N =148. Теперь можно оценить длину кодовой цепочки: K(А,2) Алфавитное равномерное двоичное кодирование. Код Бодо и байтовый код - student2.ru log2148 Алфавитное равномерное двоичное кодирование. Код Бодо и байтовый код - student2.ru 7,21. Поскольку K(А,2) должно быть целым, очевидно, K(А,2)= 8.

Именно такой способ кодирования принят в ВМ: любому символу ставится в соответствие цепочка из 8 двоичных разрядов (8 бит). Такая цепочка получила название байт, а представление таким образом символов – байтовым кодированием.

Использование 8-битных цепочек позволяет закодировать 28=256 символов, что превышает оцененное выше N и, следовательно, дает возможность употребить оставшуюся часть кодовой таблицы для представления дополнительных символов.

Для совместимости технических устройств и обеспечения возможности обмена информацией между многими потребителями требуется согласование кодов. Подобное согласование осуществляется в форме стандартизации кодовых таблиц.

До недавнего времени наиболее распространенными были кодовые таблицы, в которых символы кодируются с помощью восьмиразрядных двоичных комбинаций (байтов), позволяющих представить 256 различных символов:

1. расширенный двоично-кодированный код EBCDIC (Extended Binary Coded Decimal Interchange Code);

2. американский стандартный код для обмена информацией ASCII (American ' Standard Code for Information Interchange).

EBCDIC

Первым международным стандартом, который применялся на больших вычислительных машинах, был EBCDIC (Extended Binary Coded Decimal Interchange Code) – "расширенная двоичная кодировка десятичного кода обмена".

Код EBCDIC используется в качестве внутреннего кода в универсальных ВМ фирмы IBM. Он же известен под названием ДКОИ (двоичный код для обработки информации).

ASCII

В персональных компьютерах и телекоммуникационных системах применяется международный байтовый код ASCII (American Standard Code for Information Interchange – "американский стандартный код обмена информацией").

Стандартный код ASCII—7-разрядный, восьмая позиция отводится для записи бита четности. Это обеспечивает представление 128 символов, включая все латинские буквы, цифры, знаки основных математических операций и знаки пунктуации.

Позже появилась европейская модификация ASCII, называемая Latin 1 (стандарт ISO 8859-1). В ней «полезно» используются все 8 разрядов. Дополнительные комбинации (коды 128-255) в новом варианте отводятся для представления специфических букв алфавитов западно-европейских языков, символов псевдографики, некоторых букв греческого алфавита, а также ряда математических и финансовых символов. Для этой части также имеются стандарты, например, для символов русского языка это КОИ–8, КОИ–7 и др. Именно эта кодовая таблица считается мировым стандартом, который применяется с различными модификациями во всех странах.

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



Знак, клавиша двоичный код десятичный код
пробел
A (лат)
B (лат)
Z
ESC

Unicode

Хотя код ASCII достаточно удобен, он все же слишком тесен и не вмещает множества необходимых символов. По этой причине в 1993 году консорциумом компаний Apple Computer, Microsoft, Hewlett-Packard, DEC и IBM был разработан 16-битовый стандарт ISO 10646, определяющий универсальный набор символов (UCS, Universal Character Set). Новый код, известный под названием Unicodes. Его особенность в том, что в нем использовано 16-битное кодирование, т.е. для представления каждого символа отводится 2 байта. Такая длина кода обеспечивает включения в первичный алфавит 65536 знаков. Это, в свою очередь, позволяет создать и использовать единую для всех распространенных алфавитов кодовую. Для букв русского языка выделены коды 1040-1093.

Наши рекомендации