Код

Код — взаимно однозначное отображение конечного упорядоченного множества символов, принадлежащих некоторому конечному алфавиту, на иное, не обязательно упорядоченное, как правило более обширное множество символов для кодирования передачи, хранения или преобразования информации.

Например, код Морзе, в котором любая буква/символ кодируются последовательностями точек и тире. Иной пример — кодирование букв, чисел и символов последовательностями логических нулей и единиц в компьютерах. Последовательность элементарных закодированных символов принято называть кодовым сообщением или кодовой посылкой. Иногда последовательность закодированных символов известной длины называют кодовым словом, или кодовым кадром.

Что важно знать
Код

Кодирование

Процесс преобразования сообщения в комбинацию символов в соответствии с кодом называется кодированием, процесс восстановления сообщения из комбинации символов называется декодированием.

Кодовые деревья

Для наглядного описания кодов используются кодовые деревья. Если на каждом его уровне содержится узлов, где l — номер уровня (корень дерева находится на нулевом уровне), оно называется полным. Очевидно, величина , называемая объёмом дерева, характеризует максимальное число кодовых комбинаций, которое можно построить при помощи данного дерева.

В теории построения трансляторов такое дерево описывает множество всех возможных цепочек-выводов из формальной грамматики.

Префиксный код

Префиксным называется код, не имеющий ни одного кодового слова, которое было бы префиксом (началом) любого другого кодового слова данного кода. Любой префиксный код является разделимым (то есть любую последовательность кодовых слов всегда можно однозначно разделить на отдельные из них)[1]. Примерами префиксных кодов являются коды Шеннона, Шеннона-Фано и Хаффмана.

Примеры

Равномерное кодирование: для алфавита с m1 символами используются кодовые слова с длиной , где up — округление до большего целого. В этом случае неиспользованными остаются кодовых слов, а остальным проставляются в соответствие символы первичного алфавита. Код Бодо имеет фиксированную длину 5 символов.

Префиксные коды: Код Шеннона-Фано — первый алгоритм неравномерного кодирования. Код Хаффмана — известный метод построения оптимального неравномерного кода (ОНК) с использованием деревьев. Арифметическое кодирование — обобщение кода Хаффмана.

Примечания

Литература

  • Богданов, А. В. Кодирование сенсорной информации в нейронных системах [Текст] : монография / А. В. Богданов. — Москва : МАКС Пресс, 2018. — 86 с.
  • Дубровский, Д. И. Расшифровка кодов (методологические аспекты проблемы) / Д. И. Дубровский // Вопросы философии. — 1979. — № 12. — С. 87-100.
  • Конопелько, В. К. Новые непримитивные коды, образованные из примитивных БЧХ-кодов и кодов Хемминга и их норменная обработка / В. К. Конопелько, В. А. Липницкий // Доклады Белорусского государственного университета информатики и радиоэлектроники. — 2019. — № 3(121). — С. 12-24.
  • Лыгин, Е. А. Защита информации : Тайнопись, кодирование, шифры, криптография, ручное кодирование / Е. А. Лыгин. — Саратов : Приволж. кн. изд-во, 1997. — 51 с.; 20 см.
  • Нудельман, Р. Загадки, коды и тайны человеческой истории = Загадки, тайны и коды человеческой истории / Рафаил Нудельман. — Ростов-на-Дону : Феникс, 2006 (Можайск (Моск.обл.) : Можайский полиграфкомбинат). — 388 с. : ил.; 22 см. — (Серия "Коды тайной мудрости").
  • Овчинникова, Е. Н. Информатика. Кодирование информации системы счисления : учебное пособие / Е. Н. Овчинникова, С. Ю. Кротова, Т. В. Сарапулова ; Министерство науки и высшего образования Российской Федерации, Федеральное государственное бюджетное образовательное учреждение высшего образования Санкт-Петербургский горный университет. — Санкт-Петербург : Санкт-Петербургский горный ун-т, 2022. — 94, [1] с. : ил., табл.; 21 см.
  • Семенюк, В. В. Экономное кодирование дискретной информации : Монография / В. В. Семенюк. — СПб., 2001. — 115 с. : ил.; 21 см.
  • Сингх, С. Книга кодов : тайная история кодов и их "взлома" / Саймон Сингх ; [пер. с англ. А. Галыгина]. — Москва : АСТ : Астрель, 2007. — 447 с. : ил., портр., табл.; 21 см.
  • Старостин, Е. В. Тайнопись в системе источниковедческого знания / Е. В. Старостин // Народ и власть: исторические источники и методы исследования : материалы XVI научной конференции, Москва, 30–31 января 2004 года / Российский государственный гуманитарный университет, Историко-архивный институт, Кафедра источниковедения и вспомогательных исторических дисциплин; ответственный редактор В. А. Муравьев. – Москва: Российский государственный гуманитарный университет, 2004. – С. 36-43.
  • Старостин, Е. В. Тайнопись : (что полезно знать архивисту) / Е. В. Старостин // Отечественные архивы. – 2004. – № 5. – С. 26-33.
  • Цымбал, В. П. Теория информации и кодирование. — Киев: Выща Школа, 1977. — 288 с.
  • Черкасова, Т. Х. Теория кодирования. Кодирование в системах передачи информации [Текст] : учебное пособие / Т. Х. Черкасова ; М-во образования и науки Российской Федерации, Санкт-Петербургский гос. политехнический ун-т. – Санкт-Петербург : Изд-во политехнического ун-та, 2014. – 202 с.

Ссылки

  • Инютин, С. А. Код. Научно-образовательный портал «Большая российская энциклопедия». Автономная некоммерческая организация «Национальный научно-образовательный центр «Большая российская энциклопедия» (2023).