Открыть сервисСервис

Код: понятие, виды и применение

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

Основные понятия кодирования

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

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

Простейшим примером является двоичный код, в котором используются два символа — 0 и 1. Двоичное кодирование лежит в основе всех современных цифровых устройств: в компьютерах электрические сигналы «есть/нет» соответствуют единице и нулю.

Виды кодов

По назначению

  • Информационные коды — служат для представления данных (ASCII, Unicode, коды изображений и звука).
  • Канальные коды — обеспечивают защиту при передаче по каналу связи с помехами (коды Хэмминга, свёрточные коды, коды Рида — Соломона).
  • Коды сжатия — уменьшают объём данных без потери или с допустимой потерей качества (JPEG, MP3, DEFLATE).

По способу построения

  • Позиционные коды — значение символа зависит от его позиции (двоичная, десятичная системы счисления).
  • Непозиционные коды — значение символа не зависит от позиции (римские цифры).
  • Алфавитные коды — каждый элемент исходного алфавита кодируется фиксированным или переменным набором символов (Морзе, Baudot, ASCII).

По наличию избыточности

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

Код в программировании

В информатике под кодом чаще понимают текст программы, записанный на языке программирования. Исходный код (source code) человекочитаем и написан с использованием синтаксиса конкретного языка — Python, C++, Java, JavaScript, Rust и десятков других. Компилятор или интерпретатор преобразует исходный код в машинный — набор инструкций, выполняемых процессором.

Ключевые понятия:

  • Исходный код — текст программы на языке программирования.
  • Машинный код — двоичные инструкции, понятные процессору.
  • Байт-код — промежуточное представление, используемое в виртуальных машинах (Java, C#).
  • Открытый и закрытый код — распространяется ли исходный код программного обеспечения свободно (open source) или доступен только разработчику.

Системы контроля версий (Git, Mercurial) позволяют отслеживать изменения исходного кода, координировать работу группы разработчиков и возвращаться к предыдущим версиям.

Код в телекоммуникации

Передача информации по каналам связи требует преобразования сообщений в сигналы. Различают:

  • Аналоговое кодирование — параметры сигнала непрерывно изменяются (частотная модуляция в радиовещании).
  • Цифровое кодирование — сообщение представляется дискретными сигналами (PCM, импульсно-кодовая модуляция, лежащая в основе сотовой связи и цифрового телевидения).

Системы сжатия и защиты данных (шифрование) также основаны на преобразовании кодов: открытый текст переводится в шифротекст по ключу, что обеспечивает конфиденциальность передаваемой информации.

Код в биологии

Термин «генетический код» обозначает систему соответствия между последовательностью нуклеотидов в молекуле ДНК и аминокислотами в синтезируемом белке. Генетический код универсален для почти всех организмов, состоит из триплетов (кодонов) и включает 64 кодона, кодирующих 20 аминокислот и сигналы завершения синтеза. Открытие генетического кода выполнено в 1961 году группой учёных под руководством Маршалла Ниренберга.

Применение

Кодирование применяется повсеместно: в системах связи (мобильная связь, интернет), хранении данных (жёсткие диски, оптические носители), защите информации (криптография), идентификации (штрих-коды, QR-коды), программировании и биотехнологиях. Штрих-коды EAN и QR-коды используются для автоматизированного учёта товаров; стандарты кодирования звука (MP3, AAC) и изображений (JPEG, PNG) обеспечивают цифровые медиа.

Источники:

  • Клод Шеннон. «Математическая теория связи»
  • Д. Кнут. «Искусство программирования»
  • Р. Хэмминг. «Искусство и наука числа»
  • В.М. Курдюмов, Г.П. Башаринов. «Основы теории кодирования»
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru