Кодирование информации: понятие и виды¶
Кодирование — это процесс преобразования информации в удобную для передачи, хранения или обработки форму с помощью определённых правил (кода). Термин применяется в информатике, лингвистике, генетике, психологии и других областях, где под «кодированием» понимается установление соответствия между исходными данными и их представлением.
¶Этимология и общее значение
Слово «кодировать» происходит от французского coder и латинского codex — «книга, свод законов». В широком смысле кодирование означает упорядочивание и фиксацию информации по заданной системе правил. В узком смысле — перевод данных в формат, пригодный для конкретной цели: передачи по каналу связи, хранения на носителе, обработки процессором или восприятия человеком.
¶Кодирование в информатике
В компьютерных науках кодирование — это представление данных в виде, понятном вычислительной машине. Ключевые аспекты:
¶Представление чисел и текста
Компьютеры оперируют двоичным кодом — последовательностями нулей и единиц. Для кодирования букв и цифр используется таблица ASCII (7 бит, 128 символов) и расширенная таблица Windows-1251, долгое время применявшаяся в русскоязычной вычислительной технике. Стандарт Unicode (UTF-8, UTF-16) позволяет закодировать символы практически всех письменностей мира; в частности, для русского алфавита в UTF-8 отводится два байта на символ.
¶Сжатие данных
Кодирование часто связано с уменьшением объёма информации. Различают:
- без потерь (ZIP, RAR, PNG) — исходные данные восстанавливаются полностью;
- с потерями (JPEG, MP3, MP4) — часть информации отбрасывается ради существенного снижения объёма, что допустимо для изображений, звука и видео.
Принцип сжатия без потерь основан на замене часто встречающихся фрагментов более короткими кодами (алгоритмы Хаффмана, Лемпеля — Зив — Уэлча).
¶Кодирование с исправлением ошибок
При передаче данных по каналам связи возможны искажения. Избыточное кодирование (коды Хэмминга, Рида — Соломона, свёрточные и турбокоды) добавляет контрольные символы, позволяющие обнаружить и исправить ошибки. Такие коды используются в дисках, QR-кодах, системах мобильной связи и цифровом телевидении.
¶Программирование
В контексте программирования «закодировать» означает написать программный код — набор инструкций на языке программирования, который компилируется или интерпретируется в машинные команды. Отсюда выражение «закодировать программу».
¶Кодирование в теории информации
Понятие ввёл Клод Шеннон в 1948 году. Согласно его теории, сообщение передаётся от источника через канал связи приёмнику; кодирование на этапе передачи сводится к сопоставлению символов источника кодовым словам. Эффективность кода измеряется отношением объёма полезной информации к общему объёму закодированного сообщения. Понятие энтропии, введённое Шенноном, задаёт теоретический предел сжатия данных.
¶Кодирование в лингвистике
Язык человека — естественная система кодирования мыслей. Письменность является способом кодирования устной речи; разные алфавиты и иероглифические системы — разные коды. В прикладной лингвистике под кодированием понимают также транслитерацию (передача букв одного алфавита знаками другого) и транскрипцию (передача звуков письмом).
¶Кодирование в генетике
Генетический код — это система соответствия последовательности нуклеотидов в ДНК порядку аминокислот в белке. Триплеты нуклеотидов (кодоны) кодируют 20 аминокислот и сигналы начала и конца синтеза белка. Открытие генетического кода выполнено в 1961 году группами учёных под руководством Маршалла Ниренберга, Хар Гобинда Кораны и других. Генетический код почти универсален для всех живых организмов.
¶Кодирование в психологии
В когнитивной психологии кодирование — это процесс преобразования воспринимаемой информации в форму, пригодную для запоминания. Различают:
- акустическое кодирование (звуковая форма);
- визуальное (образная);
- семантическое (смысловое) — наиболее глубокое, обеспечивающее лучшее запоминание.
Эксперименты Крейка и Локхарта (1972) показали, что глубина обработки информации при кодировании определяет качество последующего извлечения из памяти.
¶Кодирование в криптографии
Шифрование — особый вид кодирования, цель которого защитить информацию от несанкционированного доступа. В отличие от обычного кодирования, криптографическое преобразование намеренно усложняет обратное преобразование без знания ключа. История шифров насчитывает тысячи лет — от простого шифра Цезаря до современных алгоритмов AES и RSA.
¶Применение
Кодирование применяется повсеместно: в телекоммуникациях (модуляция и каналовое кодирование), в базах данных (кодировки символов), в архивации файлов, в штриховых кодах товаров (EAN-13), в QR-кодах, в системах идентификации (биометрическое кодирование отпечатков пальцев и радужной оболочки), в телевидении и радиовещании.
Источники:
- Шеннон К. Теория передачи информации при наличии помех
- Крейк Ф., Локхарт Р. Levels of processing: A framework for memory research
- Голицын Б. А. Введение в квантовую теорию связи
- Роджерс Т. Когнитивная психология: учебное пособие
- Книпович Н. М. Генетический код
