Как закодировать сообщение в двоичный код

Обновлено: 04.07.2024

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

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

0. Начало

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

Чего мне не хватало в 70-80-е, так это в школе, пусть не на информатике, а, например, на уроках математики - базовой информации по кодированию. Дело в том, что кодированием информации каждый из нас занимается ежесекундно, постоянно и в целом - не концентрируясь на самом кодировании. То есть в быту мы это делаем постоянно. Так как это происходит?

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

Давайте рассмотрим некоторые более подробно.

1.1 Речь, мимика, жесты

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

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

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

1.2 Чередующиеся сигналы

Индеец пингует

Индеец пингует

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

Наряду с сигнальными флажками на морских и речных судах, при появлении радио начали использовать код Морзе. И при всей кажущейся бинарности (представление кода двумя значениями), так как используются сигналы точка и тире, на самом деле это тернаный код, так как для разделения отдельных кодов-символов требуется пауза в передаче кода. То есть код Морзе кроме "точка-тире", что нам даёт букву "A" может звучать и так - "точка-пауза-тире" и тогда это уже две буквы "ET".


1.3 Контекст

Когда мы пользуемся компьютером, мы понимаем, что информация бывает разной - звук, видео, текст. Но в чем основные различия? И до того, как начать информацию кодировать, чтобы, например, передавать её по каналам связи, нужно понять, что из себя представляет информация в каждом конкретном случае, то есть обратить внимание на содержание. Звук - череда дискретных значений о звуковом сигнале, видео - череда кадров изображений, текст - череда символов текста. Если мы не будем учитывать контекст, а, например, будем использовать азбуку Морзе для передачи всех трёх видов информации, то если для текста такой способ может оказаться приемлемым, то для звука и видео время, затраченное на передачу например 1 секунды информации, может оказаться слишком долгим - час или даже пара недель.

2. Кодирование текста

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

Текст в компьютере является частью 256 символов, для каждого отводится один байт и в качестве кода могут быть использованы значения от 0 до 255. Так как данные в ПК представлены в двоичной системе счисления, то один байт (в значении ноль) равен записи 00000000, а 255 как 11111111. Чтение такого представления числа происходит справа налево, то есть один будет записано как 00000001.

Итак, символов английского алфавита 26 для верхнего и 26 для нижнего регистра, 10 цифр. Так же есть знаки препинания и другие символы, но для экспериментов мы будем использовать только прописные буквы (верхний регистр) и пробел.

Тестовая фраза "ЕХАЛ ГРЕКА ЧЕРЕЗ РЕКУ ВИДИТ ГРЕКА В РЕЧКЕ РАК СУНУЛ ГРЕКА РУКУ В РЕКУ РАК ЗА РУКУ ГРЕКУ ЦАП".


2.1 Блочное кодирование

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

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

Перевод текста в двоичный код

Конвертер для перевода в Unicode

Получить текст в Юникод

Введите ваш текст

Основные определения

В начале изучим основы, чтобы в дальнейшем всё было понятно. Здесь не будет ничего сложного, чтобы полностью разобраться в теме, надо знать всего два определения и иметь представление о том, как работать с числами в двоичной системе счисления. Итак, приступим.

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

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

Кодирование (в информатике) – это процесс преобразования информации в код.

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

ASCII

Такой системой пользовались высокопоставленные политические деятели. Например, так передавались слова между руководствами двух сверхдержав – США и СССР. Изначально в этой кодировке использовалось 7 бит информации (можно было переводить 128 символов), однако потом их значение увеличили до 256 (8 бит – 1 байт). Небольшая табличка значений двоичных величин, которые помогут с переводом в АСКИ, представлена ниже.

Перевод текста в двоичный код

Unicode

Более современная кодировка. Данный стандарт был предложен в Соединенных штатах в 1991 году. Стоит отметить, что его разработала некоммерческая фирма, которая называлась "Консорциум Юникода". Популярность свою стандарт получил из-за его большого символьного охвата – на данный момент с помощью него можно отобразить почти все знаки и буквы, которые используются на планете. Начиная от символов Римской нотации и заканчивая китайскими иероглифами. Символ в этой кодировке использует 1-4 байта машинной памяти. Числовые значения для перевода различных знаков в двузначный формат можно посмотреть здесь.

Заключение

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

Дискретизация информации – процесс преобразования информации из непрерывной формы представления в дискретную. Чтобы представить информацию в дискретной форме, её следует выразить с помощью символов какого-нибудь естественного или формального языка.

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

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

Основная литература:

1. Босова Л. Л. Информатика: 7 класс. // Босова Л. Л., Босова А. Ю. – М.: БИНОМ, 2017. – 226 с.

Дополнительная литература:

  1. Босова Л. Л. Информатика: 7–9 классы. Методическое пособие. // Босова Л. Л., Босова А. Ю., Анатольев А. В., Аквилянов Н.А. – М.: БИНОМ, 2019. – 512 с.
  2. Босова Л. Л. Информатика. Рабочая тетрадь для 7 класса. Ч 1. // Босова Л. Л., Босова А. Ю. – М.: БИНОМ, 2019. – 160 с.
  3. Босова Л. Л. Информатика. Рабочая тетрадь для 7 класса. Ч 2. // Босова Л. Л., Босова А. Ю. – М.: БИНОМ, 2019. – 160 с.
  4. Гейн А. Г. Информатика: 7 класс. // Гейн А. Г., Юнерман Н. А., Гейн А.А. – М.: Просвещение, 2012. – 198 с.

Теоретический материал для самостоятельного изучения

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

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

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

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

Рассмотрим суть процесса дискретизации информации на примере.

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

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


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

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

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

Двоичное кодирование

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

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

Алфавит, содержащий два символа, называется двоичным алфавитом (рис. 3). Представление информации с помощью двоичного алфавита называют двоичным кодированием. Закодировав таким способом информацию, мы получим её двоичный код.

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


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


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


Цепочки из трёх двоичных символов получаются дополнением двухразрядных двоичных кодов справа символом 0 или 1. В итоге кодовых комбинаций из трёх двоичных символов получается 8 – вдвое больше, чем из двух двоичных символов:


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

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

Обратите внимание, что:

32 = 2 ∙ 2 ∙ 2 ∙ 2 ∙ 2 и т. д.

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

Если количество кодовых комбинаций обозначить буквой N, а разрядность двоичного кода – буквой i, то выявленная закономерность в общем виде будет записана так:


В математике такие произведения записывают в виде:

Задача. Вождь племени Мульти поручил своему министру разработать двоичный код и перевести в него всю важную информацию. Двоичный код какой разрядности потребуется, если алфавит, используемый племенем Мульти, содержит 16 символов? Выпишите все кодовые комбинации.

Решение. Так как алфавит племени Мульти состоит из 16 символов, то и кодовых комбинаций им нужно 16. В этом случае длина (разрядность) двоичного кода определяется из соотношения: 16 = 2 i . Отсюда i = 4.

Чтобы выписать все кодовые комбинации из четырёх 0 и 1, воспользуемся схемой на рис. 1.13: 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111.

Универсальность двоичного кодирования

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


Простота технической реализации – главное достоинство двоичного кодирования. Недостаток двоичного кодирования – большая длина получаемого кода.

Равномерные и неравномерные коды

Различают равномерные и неравномерные коды. Равномерные коды в кодовых комбинациях содержат одинаковое число символов, неравномерные – разное.

Выше мы рассмотрели равномерные двоичные коды.

Разбор решения заданий тренировочного модуля

№1.Тип задания: ввод с клавиатуры пропущенных элементов в тексте

Переведите десятичное число 273 в двоичную систему счисления.

Воспользуемся алгоритмом перевода целых чисел из системы с основанием p в систему с основанием q:

1. Основание новой системы счисления выразить цифрами исходной системы счисления и все последующие действия производить в исходной системе счисления.

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

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

4. Составить число в новой системе счисления, записывая его, начиная с последнего остатка.

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

Двоичный код — это строка символов, состоящих из \(0\) и \(1\).

Как и каждый язык (формальный или естественный), двоичный код имеет свой алфавит и мощность алфавита.

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

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

План урока:

Примеры кодирования информации:

Информация проходит кодирование в целях:

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

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

Способы кодировки

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

По принципу представления все информационные сведения можно классифицировать на следующие группы:

  • графическая;
  • аудиоинформация (звуковая);
  • символьная (текстовая);
  • числовая;
  • видеоинформация.

Соответственно происходит и классификация информации по способу кодирования:

Самыми распространенными видами кодировок информации являются следующие:

  • преобразование текста;
  • графическая кодировка;
  • кодирование числовых данных;
  • перевод звука в бинарную последовательность чисел;
  • видеокодирование.

Различают такие методы кодирования информации как:

Двоичный код

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

Двоичное кодирование информации применяется для различных данных:

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

Обработка графических изображений

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

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

Способы кодирования графической информации подчиняются методам представления изображений (растрового или векторного):

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

11vmi2


Источник

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

Метод координат

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

Метод координат на плоскости основан на изучении свойств точки в системе координат с горизонтальной осью Ox и вертикальной осью Oy. Точка будет иметь 2 координаты.

Если через начало координат проходит 3 взаимно перпендикулярные оси X, Y и Z, то используется метод координат в пространстве. Положение точки в таком случае определяется тремя координатами.

Система координат в пространстве

Перевод чисел в бинарный код

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

Привычная человеку система счисления (основанная на цифрах от 0 до 9), которой мы активно пользуемся, появилась несколько сотен тысяч лет назад. Работа всей вычислительной техники организована на бинарной системе счисления. Алфавитом у нее минимальный – 0 и 1. Кодировка чисел совершается путем перехода из десятичной в двоичную систему счисления и выполнении вычислений непосредственно с бинарными числами.

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

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

  1. число нужно разделить на 2;
  2. если частное больше 1, то необходимо продолжить деление до того момента, пока результат будет равен 0 или 1;
  3. записать результат последней операции и остатки от деления в обратной последовательности;
  4. полученное число и будет являться искомым кодовым значением.

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

Рассмотрим подробнее самые распространенные стандарты ASCII и Unicode – то, что применяется для кодирования символьной информации во всем мире.

Фрагмент таблицы ASCII

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

Преобразование звука

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

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

  1. дискретизировать (разделить аудиоданные на элементарные участки путем измерения колебаний воздуха через одинаковые интервалы времени);
  2. оцифровать (присвоить каждому элементу числовой код).


Преобразование звука: а) аналоговый сигнал; б)дискретный сигнал.

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

Обработка текста

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

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

  1. ASCII – первая международная система кодировки, содержащая коды на 256 знаков.
  2. Unicode – расширенный стандарт ASCII, превышающий ее размером в 256 раз.
  3. КОИ-8, СР1251, СР866, ISO – русские таблицы кодировки букв. При этом следует понимать, что документ, закодированный одним стандартом, не будет читаться в другом.

В задачах на кодирование текстовой информации часто встречаются следующие понятия:

  • мощность алфавита;
  • единицы измерения памяти (биты и байты).

Например, мощность алфавита ASCII составляет 256 символов. При этом один знак занимает 8 бит (или 1 байт) памяти, а Unicode – 35536 символов и 16 бит (или 2 байта) соответственно.

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