Кодирование и декодирование информации – история развития, для чего нужно и где используется

Рассмотрим детальнее, что такое кодирование сообщений, а также декодирование информации.

Для передачи информации люди используют естественные языки.

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

Сегодня для передачи и отображения информации мы используем вычислительную технику, которая «не понимает» наш язык без специальных операций – кодирования и декодирования.

Рассмотрим эти понятия детальнее, а также все виды и наглядные примеры кодирования/декодирования.

Cодержание:

Базовые понятия

Прежде чем разобраться с основами процедуры кодирования, следует ознакомиться с несколькими простейшими понятиями.

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

К примеру, компьютер, смартфон, ноутбук и любые другие компьютерные устройства работают с двоичным кодом.

Двоичный код использует алфавит, который состоит из двух символов – «0» и «1».

 Декодирование – это процедура обратная к кодированию. Декодировщик обратно превращает код в понятную для человека форму представления данных. Среди известных примеров постоянной работы с декодированием можно отметить азбуку Морзе: для «прочтения» сообщения нужно сначала преобразовать полученный код в слова. 

В компьютерной технике кодирование происходит, когда пользователь вводит любую информацию в систему – создает файлы, печатает текст и так далее.

Для понимания обычных букв кириллицы или латиницы они превращаются в набор нолей и единиц.

Чтобы отобразиться на экране компьютера, система проводит декодирование числовой последовательности и выводит результат на экран.

Все эти действия выполняются за тысячные доли секунды.

вернуться к меню ↑

История развития кодирования

Телеграф Шаппа

Первым техническим средством кодирования данных был созданный в 1792 году телеграф Шаппа.

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

В результате, телеграф мог отобразить и передать набор фигур.

Скорость передачи таких сообщений составляла всего два слова в минуту.

 Технология такого обмена сообщениями была актуальна больше ста лет после создания телеграфа Шаппа. 

Телеграф Морзе

Созданный в 1837 году телеграф Морзе стал революционном устройством кодирования/декодирования информации.

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

  • Длинный сигнал – тире;
  • Короткий сигнал – точка;
  • Нет сигнала – пауза.

Подобная связь используется по сей день в мореходной сфере для мгновенной передачи сообщений между суднами.

Радиоприёмник

В 1899 году А. Попов создал первый в мире беспроводной телеграф или радиоприемник.

Принцип его работы заключался в кодировании электрических сигналов азбукой Морзе и её дальнейшей передаче на длительные расстояния.

Позже был изобретен телеграф Бодо, который решал проблему неравномерности кода и сложность декодирования.

 Следующий этап в развитии кодирования – это создание вычислительных машин и их работа с бинарной системой исчисления. 
вернуться к меню ↑

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

Для перевода информации в код могут быть использованы разные способы и алгоритмы кодирования.

Использование каждого из методов зависит от среды, цели и условий создания кода.

С разными алгоритмами кодирования мы сталкиваемся в повседневной жизни:

  • Для записи разговорной речи в режиме реального времени используется стенография;
  • Для написания и отправки письма жителю другой страны используем язык получателя;
  • Для набора русского текста на англоязычной клавиатуре используем транслит. К примеру, «Привет»>«Privet» и так далее.

вернуться к меню ↑

Двоичное кодирование и другие числовые системы

Самый простой и распространенный способ кодирования – это представление информации в двоичном (бинарном) коде.

С его помощью работают все компьютеры и вычислительные системы.

Компьютер может выполнять сверхбыстрые вычисления с помощью только двух условий – наличия тока и его напряжение.

С помощью единиц передается высокое напряжение, а с помощью нолей – низкое.

 Далее полученная последовательность считывается центральным процессором, обрабатывается, а затем снова преобразуется в читаемый нам вид и выводится на экран. 

Для перевода привычных нам слов, цифр и символов в десятичное представление следует использовать специальные таблицы конверсии.

На рисунке ниже изображена таблица для цифровой и символьной раскладки, а также для букв латиницы.

К примеру, в результате перевода фразы «Hello, how are you?» получим последовательность «10010001000101100110010011001001111010110001000001001000100111110101110100001000001101001010001010100000101100110011111010101».

Чтобы выполнить декодирование информации, необходимо разделить бинарный код на части, каждая из которых равна семи ячейкам:

  • 1001000 – символ «H»
  • 1000101 – символ «E»
  • 1001100 – символ «L»
  • 1001100 – символ «L»
  • 1001111 – символ «O»
  • 0101100 – символ «,» и так далее, пока вся последовательность не будет декодирована.

 Запятые, точки, другие пунктуационные символы и пробел тоже нужно учитывать при кодировании/декодировании информации. 

Также, в теории кодирования можно встретить не только двоичную систему, но и троичную, четвертую, пятую, шестую…шестнадцатеричную и другие системы.

Шестнадцатеричная система исчисления используется в языках программирования низкого уровня.

Таким образом, удаётся добиться более быстрого выполнения кода центральным процессором. Примером такого языка является машинный код ассемблер.

 Создание программ на языке низкого уровня является самым сложным и непрактичным, поэтому на практике используют компиляторы – утилиты, которые преобразовывают языки высокого уровня в низкий. 

Так шестнадцатеричная система декодируется в двоичную.

Рис.3 – пример декодирования зыков программирования разных уровней

Рис.3 – пример декодирования зыков программирования разных уровней

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

Для обозначения одного байта требуется только две шестнадцатеричные цифры, а не восемь, как в двоичной системе.

 В повседневной жизни мы используем десятичную систему исчисления, алфавит которой представлен в виде чисел от 0 до 9. 

Онлайн-кодировщики

Для быстрого преобразования любого текста в набор символов бинарной или других систем исчисления удобнее использовать автоматические кодировщики.

Также, они могут декодировать текст, самостоятельно определяя, какую систему использовал пользователь для кодировки.

Популярным сервисом для создания или расшифровки двоичного кода является DecodeIT .

 Ресурс показывает высокую точность преобразования в обе стороны и отличается очень простым пользовательским интерфейсом. 
Рис.4 - Сервис DecodeIT

Рис.4 — Сервис DecodeIT

вернуться к меню ↑

Кодирование символов

 Кодирование символов – это еще одна важная часть работы любого компьютерного устройства. От вышеописанных числовых систем она отличается тем, что кодирование происходит уже на этапе работы программы с определенным текстом, сообщением и другим видом данных. 

Для кодирования символов используются различные стандарты, среди которых Юникод, ASCII, UTF-8 и другие.

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

Любые символы на экране компьютера или смартфона отображаются за счет двух вещей:

1 Векторного представления; 

2 Предустановленных знаков и их кода. 

Знаки – это шрифты, которые поддерживаются устройством. В ОС Windows они находятся в окне Панель управления (директория «Шрифты»).

С помощью этой папки вы можете добавлять или удалять существующие представления символов.

С помощью программного кода выбирается нужное векторное направление символа и его изображение из папки «Шрифты».

Таким образом, на экране появляется буква и текст.

За установку шрифтов отвечает операционная система вашего компьютера, а за кодировку текста – программы, в которых вы набираете или просматриваете текстовые данные.

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

Разбирая код, приложение обрабатывает кодировку знака и ищет его соответствие в поддерживаемом для этого же документа шрифте.

Если соответствие не найдено, вместо текста вы увидите набор непонятных символов.

Рис.5 – пример ошибки кодирования символов в Блокноте Windows

Рис.5 – пример ошибки кодирования символов в Блокноте Windows

Чтобы символы кириллицы и латиницы открывались без проблем в большинстве программ, было предложено ввести стандарты кодирования.

Один из наиболее популярных – это Юникод (или Unicode).

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

Также, широко используются технологии UTF-8, ASCII.

 Если в программе текст отображается в нечитабельной форме, пользователь может самостоятельно его декодировать. 

Для этого достаточно зайти в настройки текстового редактора и сохранить файл с кодировкой Юникод или другими популярными форматами кодирования.

Затем откройте файл заново, текст должен отображаться в нормальном режиме.

Рис.6 – декодирование текста в редакторе

Рис.6 – декодирование текста в редакторе

вернуться к меню ↑

Шифрование

Часто возникает необходимость не только закодировать информацию, но и скрыть её содержимое от посторонних.

Для таких целей используется шифрование.

Простыми словами, шифрование – это кодирование информации, но не с целью её корректного представления на экране компьютера, а с целью сокрытия данных от тех, кому не положено получать доступ к шифрованной информации.

Алфавит шифрования состоит из двух элементов:

  •  Алгоритм – уникальная последовательность математических действий с двоичными числами; 
  •  Ключ – бинарная последовательность, которая добавляется к шифруемому сообщению. 

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

Криптография – это наука о шифровании данных. Всего различают два раздела криптографии:

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

Где используется криптография?

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

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

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

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

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

Также, алгоритмы шифрования встроены во все операционные системы, облачные хранилища.

Они нужны для защиты ваших личных данных.

Рис.7 – принцип работы защищенного соединения

Рис.7 – принцип работы защищенного соединения

вернуться к меню ↑

Стеганография

 Стеганография – это еще один способ кодирования информации.

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

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

 Алфавитом такого кодирования является область пикселей изображения. 

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

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

Аналогичным образом происходит кодирование звука в музыку, каждой частоте присваивается определенная буква.

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

Достаточно сопоставить картинку до и после встраивания секретного текста, количество пикселей будет отличаться.

Затем используется специальное ПО для перебора и расшифровки каждого пикселя и воссоздания сообщения.

вернуться к меню ↑

Итог

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

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

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

Тематические видеоролики:

Кодирование и декодирование информации – история развития, для чего нужно и где используется
Проголосовать

Дмитрий Самолюк

«Только инновация отличает лидера от догоняющего»

Добавить комментарий

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.
GEEK-NOSE.COM
Узнай первым о новых гиковских записях и фишках!
ПОДПИСАТЬСЯ
Закрыть
Geek-Nose
Register New Account
Пароль