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

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

С этой целью институт стандартизации США (ANSI – American National Standard Institute) ввёл в действие систему кодирования ASCII (American Standard Code for Information Interchange – стандартный код информационного обмена США). В системе ASCII закреплены две таблицы кодирования – базовая и расширенная. Базовая таблица закрепляет значения кодов от 0 до 127, а расширенная относится к символам с номерами от 128 по 255.

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

Коды от 32 по 127 предназначены для кодирования символов английского алфавита, знаков препинания, цифр, арифметических действий и некоторых вспомогательных символов. Символы русского алфавита и другие специальные символы кодируются кодами расширенной таблицы от 128 по 255.

Однако, рассмотренная выше система кодирования ASCII, не обеспечивает кодирование алфавитов многих других языков планеты. С целью устранения этого недостатка в настоящее время создана универсальная система – UNICODE, основанная на 16 – разрядном кодировании символов. Эта система позволяет обеспечить уникальные коды для 65536 различных символов. Этого количества достаточно для размещения в одной таблице символов большинства различных алфавитов планеты.

При выводе символа компьютер по номеру определяет, как его надо изобразить на экране или на бумаге. На современном этапе для каждого символа хранится своеобразная программа, порождающая этот символ (векторный способ создания изображений). Геометрические параметры этих “программ” могут легко изменяться, что обеспечивает быстрое и удобное масштабирование шрифтов.

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

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

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

КОММЕНТАРИИ