Кодирование текстовой информации


Современные ЭВМ обрабатывают не только числовую, но и текстовую, другими словами – алфавитно-цифровую информацию, содержащую цифры, буквы, знаки препинания, математические и другие символы. Такой характер имеют экономическая, планово-производственная, учетная информация, а также тексты программ на алгоритмических языках и др. Для представления такой информации требуются слова переменной длины.

Совокупность всех символов, используемых в вычислительной системе, представляет собой ее алфавит. Применяются различные виды кодирования символов, использующие коды разной длины.

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

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

Основанная на 16-разрядном (двухбайтном) кодировании символов система получила название универсальной – UNICODE. Шестнадцать разрядов позволяют обеспечить уникальные коды для 65536 различных символов – этого поля достаточно для размещения в одной таблице символов большинства языков планеты.

Для представления алфавитно-цифровых символов в памяти ЭВМ и на носителях информации в больших ЭВМ и в некоторых других машинах используется двоичный код для обработки информации (ДКОИ), а в микропроцессорах, ПК и микро-ЭВМ – расширенный за счет букв русского алфавита код ASCII. В компьютерных сетях на территории России и в российском секторе Интернета широкое распространение получила кодировка КОИ-8 (код обмена информацией, восьмизначный). Другая кодировка символов русского языка Windows-1251 была введена компанией Microsoft, она используется на ряде локальных компьютеров, работающих в среде Windows.

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

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

Если необходимо расположить список фамилий в алфавитном порядке, то при весовом принципе кодирования эта операция может быть выполнена ЭВМ путем сравнения двоичных чисел, соответствующих кодовым изображениям фамилий.

Для экономии емкости памяти и для удобства выполнения арифметических операций над десятичными числами в машинах с байтовым представлением информации предусматриваются специальные форматы для десятичных чисел:

1)зонный ("распакованный")

 

2) уплотненный ("упакованный")

 

Десятичные цифры 0, 1, 2, ... , 9 представляются в двоично-десятичной форме – коде 8421, в котором десятичная цифра изображается соответствующим 4-разрядным двоичным числом. Не используемые при этом комбинации 4-разрядных кодов (1010 - 1111) служат для кодирования знаков и служебных символов.

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

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

Младший байт в этом формате состоит из кодов знака и младшей десятичной цифры числа.

В ДКОИ принято кодировать: плюс – 1100, минус – 1101 и зона – 1111.

Пример.

Число - 6.285 в зонном десятичном формате имеет вид

6 2 8 - 5

11110110 11110010 11111000 1101 0101

Информация при этом о месте расположения десятичной запятой (точки) фиксируется в самой программе задачи.

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

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

Пример.

Число - 6285 в упакованном десятичном формате имеет вид

0 6 2 8 5 -

0000 0110 0010 1000 0101 1101

байт байт байт

Упакованный формат используется при выполнении операций над десятичными цифрами. Результат получается также в этом формате. Числа, участвующие в операции, могут иметь неодинаковую длину. Они рассматриваются как целые числа, выровненные по младшим разрядам. Формат с зоной используется при операциях ввод-вывод десятичных данных.

В ЭВМ, использующих распакованный и упакованный форматы, имеются команды для преобразования десятичных чисел из зонного формата в упакованный и обратно.

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

 



Дата добавления: 2016-09-26; просмотров: 2656;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.009 сек.