
Лекция 2. Кодирование символьной информации
Кодирование информации в ЭВМ - одна из задач теории кодирования.
Теория кодирования - один из разделов теоретической информатики. Одна из задач - разработка принципов наиболее экономичного кодирования. Эта задача касается передачи, обработки, хранения информации. Частное ее решение – представление информации в компьютере.
Алфавит, в котором источник информации представляет сообщение, называется первичным.
Алфавит, в котором представлено сообщение после обработки в кодирующем устройстве, называется вторичным.
Код – это соответствие знаков первичного алфавита знакам вторичного алфавита.
Кодирование – перевод сообщения из первичного алфавита во вторичный.
Декодирование – операция обратная кодированию.
Операции кодирования и декодирования называются обратимыми, если их последовательное применение обеспечит возврат к исходной информации без каких-либо ее потерь.
Пример обратимого: слова ↔ телеграфный код.
необратимого: английский ↔ русский – здесь неоднозначно.
Математическая постановка условия обратимого кодирования.
Пусть
первичный алфавит А сост. из N знаков со средней информацией на знак IА
вторичный В – из М знаков со средней информацией на знак I В.
Пусть сообщение в первичном алфавите содержит n знаков, а закодированное – m знаков. Если исходное сообщение содержит IS (A) информации, а закодированное If (B), то условие обратимости кодирования (то есть неисчезновения информации при кодировании) очевидно может быть записано так:
IS (A) ≤ If (B) - то есть операция обратимого кодирования может увеличить количество информации в сообщении, но не может уменьшить ее.
n* I (A) ≤ m* I (B) (заменили произведением числа знаков на среднее
информационное содержание знака).
Среднее число знаков вторичного алфавита, который используется для кодирования одного знака первичного назовем длиной кода.
К (А, В)=m/n
К (А, В)≥ I (A) / I (B)
Минимально возможная длина кода: Кmin (А, В)= I (A) / I (B) –это нижний предел длины кода.
Первая теорема Шеннона.
При отсутствии помех всегда возможен такой вариант кодирования сообщения, при котором средняя длина кода будет сколь угодно близкой к отношению средних информаций на знак первичного и вторичного алфавитов.
Для двоичного кода М=2.
Кmin (А, В)= I (A) / log2 M= I (A) , здесь I (A) - средняя информация на знак первичного алфавита.
Первая теорема Шеннона (переформулировка).
При отсутствии помех средняя длина двоичного кода может быть сколь угодно близкой к средней информации, приходящейся на знак первичного алфавита.
Какие же могут быть особенности вторичного алфавита при кодировании:
Длина кода может быть одинаковой для всех знаков первичного алфавита (код равномерный) или различной (неравномерный код)
Коды могут строиться для отдельного знака первичного алфавита (алфавитное кодирование) или для их комбинаций (кодирование блоков, слов).
Равномерное алфавитное кодирование.
Пример его использования – представление символьной информации в компьютере.
Определим, какой должна быть длинна кода:
Компьютерный алфавит С включает 52 буквы латинского алфавита
66 букв русского (прописные и строчные)
Цифры 0…9 – 10 штук
Знаки математических операций, препинания, спецсимволы – 20 шт.
Итого-148 символов.
К (С, 2) ≥ log2 148 ≥ 7,21, но длина кода – целое число, следовательно, К (С,2) =8. Именно такой способ кодирования принят в компьютерных системах. Называют 8 бит=1 байт, а кодирование байтовым
Один байт соответствует количеству информации в одном знаке алфавита при их равновероятном распределении. Это объемный (знакомый уже) способ измерения информации.
Итак. Символы (characters) в компьютере хранятся в виде числового кода, причем каждому символу ставиться в соответствии своя уникальная комбинация двоичных разрядов. В этом случае текст будет представлен как длинный ряд битов, в котором следующее друг за другом комбинации битов отражают последовательность символов в исходном тексте. Присвоение символу конкретного двоичного кода _ это вопрос соглашения, которое фиксируется в кодовой таблице – их существует несколько.
Таблица, в которой устанавливается однозначное соответствие между символами и их порядковыми номерами, называется таблицей кодировки.
Для разных типов ЭВМ используют различные таблицы кодировки.
С распространением ПК типа IBM PC международным стандартом стала таблица кодировки под названием American Standard Cod for Information Interchange – ASCII.
Системы кодирования текстовых данных были разработаны и в других странах. Так, например, в СССР в этой области действовала система кодирования КОИ-7 и КОИ-8.
Система, основанная на 16-разрядном кодировании символов, получила название универсальной Unicode. Шестнадцать разрядов позволяют обеспечить уникальные коды для 65536 различных символов – этого поля достаточно для размещения в одной таблице символов большинства языков планеты.