Добавить в корзинуПозвонить
Найти в Дзене

Числовое кодирование нечисловой информации

Наибольшую часть сведений люди сообщают друг другу словами. Уж так повелось. Чтобы хранить слова на бумаге были придуманы буквы. А значит, чтобы хранить слова в компьютере, нужно сделать всего один шаг: договориться, как кодировать буквы числами. В принципе, это нетрудно. Закодируйте букву А числом, например, 192, букву Б - числом 193 и так далее, и дело сделано. Конечно, по-разному нужно закодировать числами заглавные и строчные буквы, не забыть про кодирование точки, запятой и других знаков препинания. Даже пробел между словами тоже нужно закодировать каким-нибудь числом. Для кодирования всех необходимых Вам символов понадобится не так уж много разных чисел. В интервал от 0 до 255 можно уложиться. Так что для хранения одной буквы в виде двоичного числа достаточно будет 8 двоичных разрядов, то есть одного байта памяти. Большинство компьютеров как раз так и устроено, что одна элементарная адресуемая ячейка памяти содержит один байт информации. Примером однобайтовой кодировки, кото
Оглавление
Кадр из фильма "Матрица" (1999)
Кадр из фильма "Матрица" (1999)

Числовое кодирование текста

Наибольшую часть сведений люди сообщают друг другу словами. Уж так повелось. Чтобы хранить слова на бумаге были придуманы буквы. А значит, чтобы хранить слова в компьютере, нужно сделать всего один шаг: договориться, как кодировать буквы числами.

В принципе, это нетрудно. Закодируйте букву А числом, например, 192, букву Б - числом 193 и так далее, и дело сделано. Конечно, по-разному нужно закодировать числами заглавные и строчные буквы, не забыть про кодирование точки, запятой и других знаков препинания. Даже пробел между словами тоже нужно закодировать каким-нибудь числом.

Для кодирования всех необходимых Вам символов понадобится не так уж много разных чисел. В интервал от 0 до 255 можно уложиться. Так что для хранения одной буквы в виде двоичного числа достаточно будет 8 двоичных разрядов, то есть одного байта памяти. Большинство компьютеров как раз так и устроено, что одна элементарная адресуемая ячейка памяти содержит один байт информации. Примером однобайтовой кодировки, которая охватывает и символы русского алфавита (кириллицы), является кодировка windows-1251.

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

Сравнить кодовые таблицы двух упомянутых видов можно на странице по этой ссылке.

Используя приведенные кодовые таблицы, также можно выполнить для закрепления знаний практическую работу по числовому кодированию текста.

Числовое кодирование изображений

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

Кодировать такое изображение несложно. Один пиксель кодируется одним
двоичным разрядом (битом): нулём или единицей. В одном байте можно
закодировать восемь пикселей. Изображение кодируется в определённом порядке. Вначале кодируется первая (верхняя) строка экранной матрицы: слева направо. Потом следующая строка, и так далее до последней.

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

Пример кодирования одной буквы растрового шрифта можно увидеть на этой странице. Пример - интерактивный, то есть букву можно переделать на свой вкус.

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

Экран компьютера, предназначенный для показа цветных изображений,
устроен довольно сложно. Каждый пиксель его матрицы состоит из трёх крошечных светящихся пятнышек: одно пятнышко - красное, другое - зелёное и третье - синее. Интенсивность свечения каждого пятнышка можно регулировать.

Желаемый цвет пикселя указывают комбинацией из трёх отдельных чисел,
передающих интенсивность трёх основных цветов: красного, зелёного и
синего. Как это ни удивительно, смешивание основных цветов в разных пропорциях позволяет создавать огромное количество цветовых оттенков.

Вы можете поэкспериментировать с синтезом составных цветов на этой интерактивной странице.

Закрепить знания можно, выполнив практическую работу по числовому кодированию изображений.