0

Используется для кодирования данных

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

Кодирование — процесс представления информации (сообщения) в виде кода.

Все множество символов, используемых для кодирования, называется алфавитом кодирования. Например, в памяти компьютера любая информация кодируется с помощью двоичного алфавита, содержащего всего два символа: 0 и 1.

Научные основы кодирования были описаны К.Шенноном, который исследовал процессы передачи информации по техническим каналам связи (теория связи, теория кодирования). При таком подходе кодирование понимается в более узком смысле: как переход от представления информации в одной символьной системе к представлению в другой символьной системе. Например, преобразование письменного русского текста в код азбуки Морзе для передачи его по телеграфной связи или радиосвязи. Такое кодирование связано с потребностью приспособить код к используемым техническим средствам работы с информацией (см. “Передача информации”).

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

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

Цели кодирования и способы кодирования

Способ кодирования одного и того же сообщения может быть разным. Например, русский текст мы привыкли записывать с помощью русского алфавита. Но то же самое можно сделать, используя английский алфавит. Иногда так приходится поступать, посылая SMS по мобильному телефону, на котором нет русских букв, или отправляя электронное письмо на русском языке из-за границы, если на компьютере нет русифицированного программного обеспечения. Например, фразу: “Здравствуй, дорогой Саша!” приходится писать так: “Zdravstvui, dorogoi Sasha!”.

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

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

Еще одно важное обстоятельство: выбор способа кодирования информации может быть связан с предполагаемым способом ее обработки. Покажем это на примере представления чисел — количественной информации. Используя русский алфавит, можно записать число “тридцать пять”. Используя же алфавит арабской десятичной системы счисления, пишем: “35”. Второй способ не только короче первого, но и удобнее для выполнения вычислений. Какая запись удобнее для выполнения расчетов: “тридцать пять умножить на сто двадцать семь” или “35 х 127”? Очевидно — вторая.

Однако если важно сохранить число без искажения, то его лучше записать в текстовой форме. Например, в денежных документах часто сумму записывают в текстовой форме: “триста семьдесят пять руб.” вместо “375 руб.”. Во втором случае искажение одной цифры изменит все значение. При использовании текстовой формы даже грамматические ошибки могут не изменить смысла. Например, малограмотный человек написал: “Тристо семдесять пят руб.”. Однако смысл сохранился.

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

История технических способов кодирования информации

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

Сэмюэль Финли Бриз Морзе (1791–1872), США

Такой способ кодирования получил название азбуки Морзе. В ней каждая буква алфавита кодируется последовательностью коротких сигналов (точек) и длинных сигналов (тире). Буквы отделяются друг от друга паузами — отсутствием сигналов.

Самым знаменитым телеграфным сообщением является сигнал бедствия “SOS” (Save Our Souls — спасите наши души). Вот как он выглядит в коде азбуки Морзе, применяемом к английскому алфавиту:

Три точки (буква S), три тире (буква О), три точки (буква S). Две паузы отделяют буквы друг от друга.

На рисунке показана азбука Морзе применительно к русскому алфавиту. Специальных знаков препинания не было. Их записывали словами: “тчк” — точка, “зпт” — запятая и т.п.

Характерной особенностью азбуки Морзе является переменная длина кода разных букв, поэтому код Морзе называют неравномерным кодом. Буквы, которые встречаются в тексте чаще, имеют более короткий код, чем редкие буквы. Например, код буквы “Е” — одна точка, а код твердого знака состоит из шести знаков. Это сделано для того, чтобы сократить длину всего сообщения. Но из-за переменной длины кода букв возникает проблема отделения букв друг от друга в тексте. Поэтому приходится для разделения использовать паузу (пропуск). Следовательно, телеграфный алфавит Морзе является троичным, т.к. в нем используется три знака: точка, тире, пропуск.

Читайте также:  Баннеры на сайте для чего нужны

Равномерный телеграфный код был изобретен французом Жаном Морисом Бодо в конце XIX века. В нем использовалось всего два разных вида сигналов. Не важно, как их назвать: точка и тире, плюс и минус, ноль и единица. Это два отличающихся друг от друга электрических сигнала. Длина кода всех символов одинаковая и равна пяти. В таком случае не возникает проблемы отделения букв друг от друга: каждая пятерка сигналов — это знак текста. Поэтому пропуск не нужен.

Жан Морис Эмиль Бодо (1845–1903), Франция

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

В современных компьютерах для кодирования текстов также применяется равномерный двоичный код (см. “Системы кодирования текста”).

Методические рекомендации

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

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

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

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

Предложите ученикам подумать о том, как можно обойтись без разделения букв в коде. Эти размышления должны привести к идее равномерного кода, в котором каждый символ кодируется двумя десятичными цифрами: А — 01, Б — 02 и т.д.

Подборки задач на кодирование и шифрование информации имеются в ряде учебных пособий для школы [4].

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

В старших классах в содержании общеобразовательного или элективного курса могут быть подробнее затронуты вопросы, связанные с теорией кодирования, разработанной К.Шенноном в рамках теории информации. Здесь существует целый ряд интересных задач, понимание которых требует повышенного уровня математической и программистской подготовки учащихся. Это проблемы экономного кодирования, универсального алгоритма кодирования, кодирования с исправлением ошибок. Подробно многие из этих вопросов раскрываются в учебном пособии “Математические основы информатики” [1].

1. Андреева Е.В., Босова Л.Л., Фалина И.Н. Математические основы информатики. Элективный курс. М.: БИНОМ. Лаборатория Знаний, 2005.

2. Бешенков С.А., Ракитина Е.А. Информатика. Систематический курс. Учебник для 10-го класса. М.: Лаборатория Базовых Знаний, 2001, 57 с.

3. Винер Н. Кибернетика, или Управление и связь в животном и машине. М.: Советское радио, 1968, 201 с.

4. Информатика. Задачник-практикум в 2 т. / Под ред. И.Г. Семакина, Е.К. Хеннера. Т. 1. М.: БИНОМ. Лаборатория Знаний, 2005.

5. Кузнецов А.А., Бешенков С.А., Ракитина Е.А., Матвеева Н.В., Милохина Л.В. Непрерывный курс информатики (концепция, система модулей, типовая программа). Информатика и образование, № 1, 2005.

6. Математический энциклопедический словарь. Раздел: “Словарь школьной информатики”. М.: Советская энциклопедия, 1988.

7. Фридланд А.Я. Информатика: процессы, системы, ресурсы. М.: БИНОМ. Лаборатория Знаний, 2003.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Бойлер потребляемая мощность квт

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

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

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

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

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

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

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

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

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

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

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

Читайте также:

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

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

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

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

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

Полезная информация:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:

Шифрование

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:

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

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

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

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

Богдан Вязовский

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

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

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

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

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

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

Кодирование может быть равномерным и неравномерным. При равномерном кодировании все символы заменяются кодами равной длины; при неравномерном кодировании разные символы могут кодироваться кодами разной длины (это затрудняет декодирование). Неравномерный код называют еще кодом переменной длины.

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

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

Коды Морзе для некоторых букв.

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

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

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

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

Закодированное сообщение можно однозначно декодировать с начала, если выполняется условие Фано: никакое кодовое слово не является началом другого кодового слова.

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

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

Например, код Морзе не является префиксным — для него не выполняется условие Фано. Поэтому в кодовый алфавит Морзе, кроме точки и тире, входит также символ–разделитель — пауза длиной в тире. Без разделителя однозначно декодировать код Морзе в общем случае нельзя.

Конспект урока по информатике «Кодирование и декодирование информации».

admin

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *