Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БЕКИН_Д_ЖЕНАТОВ.doc
Скачиваний:
33
Добавлен:
24.08.2019
Размер:
4.5 Mб
Скачать

6. Кодирование алфавитно-цифровой информации

Современные ЭВМ обрабатывают не только и не столько числовую информацию, но и символьную. В символьном (текстовом) виде представляется экономическая, организационная, учётная информация, тексты, как на естественных языках, так и на языках программирования и многое другое. Характер этой информации такой, что для её представления требуются слова переменной длины.

6.1. Параметры алфавитно-цифровой информации

Совокупность всех символов, используемых в вычислительной системе, представляет собой её алфавит. Символу соответствует машинная единица информации слог. Так называют группу двоичных разрядов, служащую для представления символа в машине (двоичный код символа). Применяются различные варианты кодирования символов, использующие коды разной длины. При выборе способа кодирования необходимо учитывать объём алфавита символов и требования, связанные с облегчением автоматической обработки данных.

Наибольшее распространение получило представление алфавитно-цифровой информации с помощью 8-разрядных слогов, называемых байтами (КОИ-8, ASCII, ДКОИ). Существует также представление с помощью 7-разрядных слогов (КОИ-7), а также 5-разрядное кодирование (телеграфное).

Алфавитно-цифровая информация представляется словами переменной длины, содержащими нужное количество байт-символов.

Для упрощения автоматизации обработки данных применяют весовой принцип кодирования символов. Двоичное число, соответствующее коду символа, называется его весом. При весовом кодировании веса кодов цифр последовательно возрастают, а веса кодов букв увеличиваются в алфавитном порядке. Вес кода буквы Б на 1 больше веса кода буквы А и т. д., а код пробела меньше веса кода буквы А. Такой способ кодирования упрощает сортировку символьной информации, которая производится путем сравнения и упорядочения весов кодов символов.

6.2. ASCII-код

С целью стандартизации в компьютерах используется американский национальный стандартный код для обмена информацией ASCII (American National Standard Code for Information), разработанный в США в Национальном институте ANSI (American National Standarts Institute). В начале 80-х годов производители IBM PC решили расширить набор символов ASCII. Коды от 20h до 7Åh – это выводимые на дисплей символы из набора символов ASCII. Оставшиеся символы являются нестандартными или, по крайней мере, на тот момент являлись нестандартными. Этот набор символов закодирован в миллионах микросхем ПЗУ в видеоадаптерах, принтерах и микросхемах BIOS. ASCII-кодировка символов приведена в приложении 2. Элементами изображенной матрицы являются обозначения символов, а индексами - шестнадцатеричные цифры кодов символов. Первые 32 кода базовой таблицы, начиная с нулевого, отданы производителям аппаратных средств. В этой области располагаются так называемые управляющие коды, которым не соответствуют никакие символы языков, и, соответственно, эти коды не выводятся на экран, ни на устройства печати, но ими можно управлять тем, как производится ввод прочих данных. Начиная с кода 32 по код 127, размещены коды символов английского алфавита, знаков препинания, цифр, арифметических действий и некоторых вспомогательных символов. Если каждому символу алфавита сопоставить определенное целое число (например, порядковый номер), то с помощью двоичного кода можно кодировать и текстовую информацию. Для хранения двоичного кода одного символа выделен 1 байт = 8 бит.

Учитывая, что каждый бит принимает значение 0 или 1, количество их возможных сочетаний в байте равно 28 = 256. Значит, с помощью 1 байта можно получить 256 разных двоичных кодовых комбинаций и отобразить с их помощью 256 различных символов. Такое количество символов вполне достаточно для представления текстовой информации, включая прописные и заглавные буквы русского и латинского алфавита, цифры, знаки, графические символы и т.д.

Кодирование заключается в том, что каждому символу ставится в соответствие уникальный десятичный код от 0 до 255 или соответствующий ему двоичный код от 00000000 до 11111111. Таким образом, человек различает символы по их начертанию, а компьютер - по их коду. Для получения шестнадцатеричного кода символа необходимо к цифре-индексу, записанной в соответствующем столбце, приписать справа цифру-индекс, размещенную в соответствующей строке матрицы. Например, символ G имеет код 47Н (H - соответствует шестнадцатеричной системе). Из шестнадцатеричного кода легко получить двоичный код путем записи каждой шестнадцатеричной цифры в двоичной системе счисления (для нашего примера получим 1000111). Если требуется по двоичному коду определить представленный им символ, то следует свернуть этот код в шестнадцатеричное число, разбить его на цифры и найти обозначение символа на пересечении столбца и строки, индексами которых являются старшая и младшая шестнадцатеричные цифры кода соответственно.

ASCII содержит две группы символов:

1) прописные и строчные латинские буквы, цифры, а также специальные знаки, т.е. символы пишущей машинки;

  1. управляющие символы, используемые в коммуникационных протоколах, в частности, для передачи команд ПУ.

Символы пишущей машинки имеют коды 20Н - 7ЕН, а управляющие символы - ООН - 1FH и 7FH.

Относительно символов пишущей машинки специальные пояснения не требуются, отметим только, что символ с кодом 2DH - это знак «минус», а с кодом 5FH - подчеркивания. Символы с кодами 27Н и 60Н также различаются между собой: первый является апострофом, а второй - знаком тупого (обратного) ударения. Символ " (один символ!) называется кавычками, & - амперсандом, # - знаком номера, ^ - стрелкой | - вертикальной чертой, ~ - знаком надчеркивания (тильдой), а @ - коммерческим "эт". Символ SP обозначает пробел (Space).

Управляющие символы стандартно интерпретируются следующим образом: (NULI) - пустой символ, не имеющий значения (может использоваться для задержек); (Start Of Heading) - начало заголовка (с него начинается передача блока данных). В этой системе не предусмотрены коды для русского алфавита, поэтому в нашей стране используются варианты этой системы кодировки, в которые включают буквы русского алфавита. Чаще всего используется вариант, известный под названием «Альтернативная кодировка». Важно, что присвоение символу конкретного кода - это вопрос соглашения, которое фиксируется в кодовой таблице. Кодирование текстовой информации с помощью байтов опирается на несколько различных стандартов, но первоосновой для всех стал стандарт ASCII.