Универсальная система кодирования текстовых данных
Представление текстовых данных
Если каждому символу алфавита сопоставить определенное целое число (например, порядковый номер), то с помощью двоичного кода можно кодировать и текстовую информацию. Восьми двоичных разрядов достаточно для кодирования 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-х годов технические средства достигли необходимого уровня обеспеченности ресурсами, и сегодня мы наблюдаем постепенный перевод документов и программных средств на универсальную систему кодирования. Для индивидуальных пользователей это еще больше добавило забот по согласованию документов, выполненных в разных системах кодирования, с программными средствами, но это надо понимать как трудности переходного периода.