Универсальная система кодирования текстовых данных

Представление текстовых данных

Если каждому символу алфавита сопоставить определенное целое число (например, порядковый номер), то с помощью двоичного кода можно кодировать и текстовую информацию. Восьми двоичных разрядов достаточно для кодирования 256 различи символов. Этого хватит, чтобы выразить различными комбинациями восьми бит все символы английского и русского языков, как строчные, так и прописные, а также знаки препинания, символы основных арифметических действий и некоторые o6щепринятые специальные символы, например символ «§».

Институт стандартизации США (ANSI — American National Standard Institute) ввел в действие систему кодирования ASCII (American Stand Code for Information Interchange — стандартный код информационного обмена). Этот стандарт начиная с 1977 года принят в качестве всемирного стандарта.

В системе ASCIIзакреплены две таблицы кодирования — базоваяи расширеннаяа. Базовая таблица закрепляет значения кодов от 0 до 127, а расширенная относи к символам с номерами от 128 до 255.

Первые 32 кода (0…31) базовой таблицы, начиная с нулевого, отданы производителям аппаратных средств (в первую очередь производителям компьютеров и печатающих устройств). В этой области размещаются так называемые управляющие коды, которым не соответствуют никакие символы языков.

Начиная с кода 32 по код 127 (32…127) размещены коды символов английского алфавита, знаков препинания, цифр, арифметических действий и некоторых вспомогательных символов. Начиная с кода 128 по код 255 (128…255) размещены коды национальных алфавитов и псевдографика.

Каждому символу поставлено в соответствие двоичное число от 0 до 255 (8-битовый двоичный код), например:

А – 01000001, С – 01000011,

В – 01000010, D – 01000100 и т.д.

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

Очевидно, что слово «Информатика» вместе с кавычками, кодируется 104 битами и будет содержать 13 байт, а вот название повести Чук и Гекбудет содержать 9 байт (с учетом пробелов) или 72 бита.

Примерная информационная емкость закодированных текстовых данных приведена в табл. 3.1

Таблица 3.1

Информационная емкость закодированных текстовых данных

№ п\п Объем данных, байт Название Примерный объем печатного текста
Килобайт, Кб 0,5 страницы
1024Кб Мегабайт, Мб 400-500 страниц
1024Мб Гигабайт, Гб 1000 книг
1024Гб Терабайт, Тб Большая библиотека

 

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

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