Все разделы
Выбрать школу

Школа. Увлечения. Большое будущее.

PROSCHOOLS · ОБРАЗОВАНИЕ РЯДОМ

Ваш город

Выберите город, чтобы находить образование и возможности рядом.

Как учитываем городКаталог и кнопки «Выбрать школу» покажут школы выбранного города.Онлайн-курсы, учебник, ГДЗ и задания к экзаменам доступны по всей России.

Популярные города

Будет выбран: Вся Россия

Учебные материалы останутся прежними.

Поиск по сайту

По всему сайтуШколы выбранного города — выше в результатах

С чего начнём?

↑ ↓ — выбрать результат · Enter — открыть · Esc — закрыть

Кодирование информации

💻 Информатика · 6 класс

Что такое кодирование и декодирование, зачем нужны коды и как сообщение переводят из одной формы в другую.

Программный код на экране
Программный код на экранеMartin Vorel · Wikimedia Commons · CC BY-SA 4.0

Что такое кодирование информации

Кодирование — это представление информации с помощью некоторого набора знаков (кода). Например, буквы записывают звуки речи, дорожные знаки кодируют правила движения, а ноты — музыку. Обратное действие, когда по коду восстанавливают исходное сообщение, называется декодированием.

Один и тот же смысл можно записать разными способами. Слово «дом» можно произнести вслух, написать буквами, изобразить рисунком или передать азбукой Морзе. Все эти формы — разные коды для одной и той же информации.

Зачем нужно кодирование

  • чтобы хранить сведения (запись в тетради, файл в памяти);
  • чтобы передавать их на расстояние (сигналы светофора, флажки);
  • чтобы защитить сообщение от посторонних (тайнопись, шифр).

Способы кодирования

Принято выделять три основных способа представления одной и той же информации.

СпособЧем кодируютПример
Графическийрисунками, значкамипиктограмма, дорожный знак
Числовойчисламиномер дома, телефон
Символьныйзнаками алфавитаслово, формула

Разобранный пример

Закодируем слово, заменив каждую букву её порядковым номером в русском алфавите. Тогда слово «КОД» превращается в набор чисел:

К → 12, О → 16, Д → 5 ⇒ код слова: 12 16 5

Чтобы декодировать запись 12 16 5, нужно знать правило (таблицу соответствия букв и номеров). Без ключа набор чисел останется непонятным.

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

Однозначность кода

Для однозначного декодирования у всего сообщения должно быть единственное разбиение на кодовые слова. Разные коды отдельных букв необходимы, но при записи без разделителей этого недостаточно: например, 01 может означать одну букву с кодом 01 или две с кодами 0 и 1. Условие Фано даёт удобный достаточный способ избежать этой неоднозначности.

Кодирование в жизни и в компьютере

Люди кодировали информацию задолго до появления компьютеров. Моряки переговаривались флажками, телеграфисты передавали слова точками и тире, разведчики прятали смысл в шифрах. Во всех этих случаях работает одна и та же идея: смысл заменяют условными знаками, о значении которых заранее договорились.

Компьютер тоже всё кодирует, только использует для этого всего два знака — 0 и 1. Буквами, числами, рисунками и звуками внутри машины становятся длинные цепочки нулей и единиц. Чтобы человек увидел привычный текст или картинку, компьютер декодирует эти цепочки обратно. Поэтому кодирование — это основа работы любой вычислительной техники, а не просто игра в шифры.

Перекодирование

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

Исходная формаКодГде применяют
буквыазбука Морзесвязь, телеграф
буквынули и единицыкомпьютер
числаштрих-кодмагазин, склад

Почему разных кодов букв недостаточно

Пусть А кодируется как 0, Б — как 01, В — как 1. Все три кодовых слова разные, но цепочка 01 читается двояко: Б или АВ. Значит, уникальность отдельных кодов ещё не гарантирует единственности разбиения целого сообщения.

Для записи без разделителей удобно условие Фано: ни одно кодовое слово не является началом другого. Такой код называют префиксным. По мере чтения слева направо можно сразу выделять очередной символ. Условие достаточно для однозначного декодирования, но не является обязательным для всех однозначных кодов.

Редакционная таблица и декодирование

БукваКод
А0
Б10
В110
Г111

Ни один код не начинает другой. Цепочку 0101101110 разбиваем как 0 | 10 | 110 | 111 | 0, получаем АБВГА. В ней пять букв, но десять бит: число символов и длина записи — разные величины.

Можно ли добавить код?

Если уже заняты 00 и 1, то для третьей буквы можно взять 01. Взять 0 нельзя: он стал бы началом существующего 00. Взять 10 тоже нельзя: существующий 1 стал бы его началом. Проверять нужно оба направления отношения «быть началом», а не только совпадение строк.

Для углубления: код А=0, Б=01 нарушает прямое условие Фано, но однозначен для конечного сообщения — его можно разбирать справа налево, поскольку ни одно слово не является окончанием другого. Например, 001 разбирается как 0 | 01. Нарушение прямого условия Фано само по себе не доказывает неоднозначность; для неё нужно показать два различных исходных сообщения с одной записью.

Наконец, кодирование не обязательно скрывает смысл: открытая таблица букв — не защита переписки. Секретность относится к задачам шифрования.

Справочные материалы: Что такое кодирование информации — исходная тема. Связанные уроки: Дерево вариантов и перебор, Циклы с известным числом повторений.

Кратко о главном

  • Кодирование — это запись информации с помощью знаков кода.
  • Декодирование — обратный перевод кода в исходное сообщение.
  • Одну информацию кодируют графически, числами или символами.
  • Декодировать сообщение можно только с тем же ключом, что и при кодировании.
  • Хороший код однозначен: одному коду — один смысл.