Традиционные способы кодирования информации
Потребность кодировать информацию, т.е. преобразовывать ее для каких-то специфических целей, люди испытывали и в докомпьютерную эпоху. Письменность есть ни что иное, как способ кодировать сообщения для долговременного хранения, публикации или отправки адресату. То же можно сказать о цифрах, применяемых для вычислений, записи дат. Музыка уже несколько веков записывается с помощью нот.
Со временем появились специальные системы кодирования для передачи информации с помощью радиосигналов (азбука Морзе), для людей с ограниченными возможностями (азбука Брайля для незрячих, азбука жестов для глухонемых). По мере развития науки и техники были внедрены знаковые системы для отдельных отраслей человеческой деятельности. Химики пользуются особыми формулами для записи структуры молекул, астрономы - для обозначения интенсивности блеска и цвета небесных тел, инженеры, создавая чертежи и схемы, применяют стандартизированные условные обозначения. В каждой отрасли человеческой деятельности есть свои особенности общения между специалистами, свой сленг, свои символы.
С появлением компьютеров кодирование информации унифицировалось: все традиционные знаковые системы были оцифрованы, т. е. приведенными к виду, пригодному для использования в компьютерных системах. Кодирование для них производится посредством электрических импульсов, для которых характерны:
- полярность;
- время активности;
- фаза;
- частота.
Рассмотрим некоторые способы кодирования компьютерной информации.
Кодирование текста и чисел
Кодирование символов
Текст может состоять из различных символов:
- букв (латинского и национального алфавитов);
- цифр (чаще всего т.н. арабских);
- иероглифов (китайских, японских, корейских и т.д);
- знаков препинания и типографских символов;
- специальных знаков (математических, физических, таких, как знак градуса Цельсия);
- прочих символов, как, например, недавно появившиеся знаки эмодзи.
Общее количество символов, употребляемых человечеством измеряется сотнями, а возможно и тысячами, причем в будущем, по мере появления новых знаний, этот перечень, скорее всего, будет расширен.
Оптимальный способ представить символ в памяти компьютера - присвоить ему порядковый номер. Однако длина двоичного числа для каждого такого номера должна быть постоянной, иначе придется хранить о ней дополнительную информацию, что осложнит обработку. Стандартным решением этой проблемы является кодировка Unicode, где каждому знаку соответствует 16-битная последовательность. Всего таких различных последовательностей может быть 65536, поэтому Unicode способен не только вместить в себя все существующие на сегодняшний день системы письменности, но и содержит достаточно свободного пространства для будущего применения.
Рисунок 1. Фрагмент таблицы Unicode с эмодзи. Автор24 — интернет-биржа студенческих работ
Кодирование чисел
Целые положительные числа представляются в виде двоичных (битовых, бинарных) последовательностей. Длина этих последовательностей зависит от величины числа. Например, для записи чисел он 0 до 255 достаточно 8 бит. Такую "порцию" информации принято называть байтом (byte). Для более длинных чисел выделяют по 16 (word), 32 (int), 64 (long) бита. Более длинные последовательности используются редко, поскольку с помощью 64 бит можно закодировать большинство чисел, используемых в человеческой практике ($2^64 = 18 446 744 073 709 551 616$).
Для представления отрицательных чисел задействуют отдельный (обычно старший) бит.
Для представления действительных (дробных) чисел используется форма записи с плавающей точкой.
Рисунок 2. Представление дробного числа в виде байтовой последовательности. Автор24 — интернет-биржа студенческих работ
Кодирование мультимедийной информации
Мультимедийной называется информация, предоставляемая пользователю в естественных для восприятия формах: звук, изображение. Она кодируется представлением физических состояний (цветность, яркость, положение в пространстве, интенсивность звука) в виде чисел. Например, изображение можно разложить на отдельные точки, каждая их которых будет иметь координаты по декартовым осям и цвет, который можно представить как "смесь" красной, зеленой и синей компонент.
Кодирование звука производится методом дискретизации, иначе говоря аналогово-цифрового преобразования (АЦП). Звуковая волна (ее амплитуда может измеряться, например, посредством микрофона) разбивается на временные участки длительностью в десятитысячные доли секунды. Непрерывная кривая интенсивности звука превращается в дискретную последовательность уровней громкости, выглядящую на графике как "ступеньки".
Рисунок 3. Дискретизация звуковой волны. Автор24 — интернет-биржа студенческих работ
Качество АЦП звука зависит от:
- частотой дискретизации, т.е. количества измерений уровня сигнала в единицу времени (обычно от 8 до 48 кГц);
- количества уровней сигнала; 16-битная глубина кодирования предоставляет 65536 различных состояний, что обеспечивает достаточно высокое качество воспроизведения.
Поскольку мультимедийная информация занимает много места в памяти компьютера, для ее хранения и передачи применяются уплотняющие технологии (jpeg, mpeg, webm и т.п.).