Раздел 2. Кодирование информации
Вся информация, которую хранит, обрабатывает и передает по сетям компьютер, представлена в виде двоичных чисел.
Кодирование текстовой информации.
Для кодирования букв и других символов, используемых в печатных документах, необходимо закрепить за каждым символом числовой номер – код. В англоязычных странах используются 26 прописных и 26 строчных букв (A … Z, a … z), 9 знаков препинания (., : ! " ; ? ( ) ), пробел, 10 цифр, 5 знаков арифметических действий (+, -, *, /, ^) и специальные символы (№, %, _, #, $, &, >, <, |, \) – всего чуть больше 100 символов. Таким образом, для кодирования этих символов можно ограничиться 7-разрядным двоичным числом (от 0 до 1111111, в десятичной системе счисления – от 0 до 127).
Однако сейчас для кодирования одного символа используется 1 байт (8 двоичных разрядов). Это позволяет закодировать N = 28 = 256 различных символов, которых обычно бывает достаточно для представления текстовой информации (прописные и заглавные буквы русского и латинского алфавита, цифры, знаки, графические символы и т.д.).
При двоичном кодировании текстовой информациикаждому символу ставится в соответствие своя уникальная последовательность из восьми нулей и единиц, свой уникальный двоичный код от 00000000 до 11111111 (десятичный код от 0 до 255).
Присвоение символу конкретного двоичного кода - это вопрос соглашения, которое фиксируется в кодовой таблице. Первые 33 кода (с 0 по 32) соответствуют не символам, а операциям (перевод строки, ввод пробела и т.д.). Коды с 33 по 127 являются интернациональными и соответствуют символам латинского алфавита, цифрам, знакам арифметических операций и знакам препинания.
Коды с 128 по 255 являются национальными, т.е. в национальных кодировках одному и тому же коду соответствуют различные символы. К сожалению, в настоящее время существуют пять различных кодовых таблиц для русских букв, поэтому тексты, созданные в одной кодировке, не будут правильно отображаться в другой.
В последнее время появился новый международный стандарт Unicode, который отводит на каждый символ не один байт, а два, и потому с его помощью можно закодировать не 256 символов, а N = 216 = 65536 различных символов. В то же время, подобно двоичным файлам, кодировка Unicode мало подходит для непосредственной передачи по сети – байты в тексте вполне могут приходиться на область управляющих символов, поэтому обычно применяются две другие основанные на Unicode кодировки переменной длины, обозначаемые как UTF (Unicode Transformation Format).
В кодировке ASCII в один байт можно записать один 256 символьный код.
В кодировке UNICODE один 256 символьный код занимает в памяти два байта.
Широко используются также ещё более крупные производные единицы информации:
- 1 Килобайт (Кбайт) = 1024 байт = 210 байт,
- 1 Мегабайт (Мбайт) = 1024 Кбайт = 220 байт,
- 1 Гигабайт (Гбайт) = 1024 Мбайт = 230 байт.
В последнее время в связи с увеличением объёмов обрабатываемой информации входят в употребление такие производные единицы, как:
- 1 Терабайт (Тбайт) = 1024 Гбайт = 240 байт,
- 1 Петабайт (Пбайт) = 1024 Тбайт = 250 байт.
Количество информации
Количество информации I, содержащееся в выбранном сообщении, определяется формулой Хартли: I = log2N, когда происходит выбор одного сообщения из конечного наперёд заданного множества из N равновероятных сообщений.
(Напомним, бит в теории информации — количество информации, необходимое для различения двух равновероятных сообщений).
Другая формулировка формулы Хартли 2 I= N где I– количество информации в битах, N – неопределенность.
Мощность алфавита – это количество символов в алфавите или неопределенность из формулы Хартли.
Информационный вес одного символа – это значение I из формулы Хартли. Отсюда можно сделать вывод, что не существует алфавита, состоящего из одного символа, поскольку тогда информационный вес этого символа был бы равен 0.
Информационный объем текста
Дано:Книга содержит 150 страниц. На каждой странице - 40 строк, в каждой строке 60 символов (включая пробелы).
Найти информационный объем текста.
Решение:
Подсчитаем количество символов в книге: 60 * 40 * 150 = 360 000 символов. Поскольку 1 символ составляет 1 байт, информационный объем книги равен 360 000 байтов, или 360 000 / 1024 = 351,56 Кб, или 351,56 / 1024 = 0,34 Мб
Задачечки
А) Поезд находится на одном из восьми путей. Сколько бит информации содержит сообщение о том, где находится поезд?
Б) Сколько существует различных двоичных последовательностей из одного, двух, трех, четырёх, восьми символов?
В) Каков информационный объём сообщения "Я помню чудное мгновенье" при условии, что один символ кодируется одним байтом и соседние слова разделены одним пробелом?
Г) Сколько бит необходимо, чтобы закодировать оценки: "неудовлетворительно", "удовлетворительно", "хорошо" и "отлично"?