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

Двоичное кодирование

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

1. Двоичная система наиболее проста и удобна для обработки на ЭВМ, т. к. компьютер – электрическая машина и работает с электрическими сигналами: есть сигнал – включено, нет сигнала – выключено.

В современной вычислительной технике информация как раз и кодируется с помощью сиг-налов двух видов: включено или выключено. Все входные сигналы, поступающие в компьютер, преобразуются в нули и единицы, при этом 0 означает отсутствие тока (нет сигнала, т. е. выклю-чено), а 1 – присутствие тока в цепи (есть сигнал, т. е. включено). Принято обозначать одно со-стояние цифрой 0, а другое – цифрой 1. Такое кодирование называется двоичным, а цифры 0 и 1 называются битами (от англ. bit – binary digit – двоичная цифра).

На этом простом принципе и основана работа ЭВМ. Любая информация в компьютере мо-жет быть представлена в виде последовательности двоичных символов – бит.

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

При двоичном кодировании текстовой информации каждому символу соответствует его код – последовательность из 8 нулей и единиц, называемая байтом. Всего существует 256 разных последовательностей из 8 нулей и единиц. Это позволяет закодировать 256 символов, например большие и малые буквы латинского и русского алфавитов, цифры, знаки препинания, специаль-ные символы, пробел и т. д.

Соответствие байтов и символов задается с помощью таблицы кодировки, в которой уста-навливается взаимосвязь между символами и их порядковыми номерами в компьютерном алфави-те. Все символы компьютерного алфавита пронумерованы от 0 до 255. Каждому номеру соответ-ствует восьмиразрядный двоичный код от 00000000 до 11111111. Этот код есть порядковый но-мер символа в двоичной системе счисления.
Для разных типов ЭВМ используются различные таблицы кодировки. С распространением персональных компьютеров типа IBM PC международным стандартом стала таблица кодировки под названием ASCII (American Standard Code for Information Interchange) – Американский стан-дартный код для информационного обмена.

Стандартными в этой таблице являются только первые 128 символов, т. е. символы с номе-рами от 0 (двоичный код 000000000) до 127 (двоичный код 01111111). Сюда входят буквы латин-ского алфавита, цифры, знаки препинания, скобки и некоторые другие символы. остальные 128 кодов, начиная с 128 (двоичный код 10000000) и кончая 255 (двоичный код 11111111), использу-ются для кодировки букв национальных алфавитов, символов псевдографики и научных симво-лов. В русских национальных кодировках в этой части таблицы размещаются символы русского алфавита.

Принцип последовательного кодирования алфавита: в кодовой таблице ASCII латинские буквы (прописные и строчные) располагаются в алфавитном порядке. Расположение цифр также упорядочено по возрастанию значений. Данное правило соблюдается и других таблицах кодиров-ки (КОИ-8). Благодаря этому и в машинном представлении для символьной информации сохраня-ется понятие «алфавитный порядок».
Из всего вышесказанного следует, что когда вы нажимаете клавишу с буквой L на клавиа-туре ПК, центральный процессор получает команды из восьми сигналов: выключить – включить – выключить – выключить – включить – включить – выключить – выключить. Если учесть чрезвы-чайно высокое быстродействие компьютера, то станет очевидным, что для отображения на экране буквы практически не требуется никакого времени.
ASCII или UNICODE

Для кодирования необходимо описать базовые информационные объекты. Для этого необ-ходимо создать модель интересующей информации.

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

Поскольку компьютер работает с числами в двоичной системе, которые традиционно груп-пируют по 8 разрядов, решили в получившейся таблице использовать сразу двоичные 8-разрядные числа. Часто такие таблицы состоят из 3-х колонок, чтобы можно было видеть сразу и двоичный код, и привычный 10-чный.
Текстовых знаков в таблице оказалось 128, а в 8-разрядное двочное число можно закоди-ровать 256 знаков. Это позволило учесть то, о чем не могли заранее подумать изобретатели коди-рования. Различные варианты заполнения свободной части таблицы привели к похожим, но не-сколько отличающимся стандартам. В настоящее время наиболее известный вариант такой табли-цы называется ASCII.
Той же частью таблицы смогли воспользоваться программисты других стран, которым невоз-можно было обойтись без английского алфавита, но и родной язык было бы странно не использо-вать. Поскольку такие модернизации таблицы никем жестко не контролировались, появилось не-сколько вариантов кодирования национальных языков. В частности, для русского языка сущест-вует несколько кодировок, которые использовались в различных операционных системах, напри-мер:
• 866 (в среде DOS)
• win-1251 (в среде Windows)
• mac-cyrilic (в среде Macintosh)
• koi-8r (в среде UNIX)
Кириллица - не самый сложный вариант: в ней только 33 буквы, что чуть больше латиницы (26), но даже с ней были сложности. По мере развития информационных технологий (ИТ) возникли новые вопросы:
• Как быть с абсолютно другими по системе кодирования языками, например, китайским?
• Как разработанные в одной стране программы использовать в другой?
• Можно ли разрабатывать многоязычные словари?