Главная Новости

Двоичное кодирование текстовой информации


Опубликовано: 05.09.2018

видео Двоичное кодирование текстовой информации

Урок кодирование текстовой информации

Минимальные единицы измерения информации – это бит и байт.

Один бит позволяет закодировать 2 значения (0 или 1).



Используя два бита, можно закодировать 4 значения: 00, 01, 10, 11.

Тремя битами кодируются 8 разных значений: 000, 001, 010, 011, 100, 101, 110, 111.

Из приведенных примеров видно, что добавление одного бита увеличивает в 2 раза то количество значений, которое можно закодировать:


Задание №1 Кодирование текстовой информации

1 бит кодирует     –> 2 разных значения    (21 = 2),

2 бита кодируют –> 4 разных значения    (22 = 4),

3 бита кодируют –> 8 разных значений    (23 = 8),

4 бита кодируют –> 16 разных значений   (24 = 16),

5 бит кодируют   –> 32 разных значения   (25 = 32),



6 бит кодируют   –> 64 разных значения   (26 = 64),

7 бит кодируют   –> 128 разных значения (27 = 128),

8 бит кодируют    –> 256 разных значений (28 = 256),

9 бит кодируют   –> 512 разных значений  (29 = 512),

10 бит кодируют –> 1024 разных значений (210 = 1024).

Мы помним, что в одном байте не 9 и не 10 бит, а всего 8. Следовательно, с помощью одного байта можно закодировать 256 разных символов. Как Вы думаете, много это или мало? Давайте посмотрим на примере кодирования текстовой информации.

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

Для больших и маленьких букв английского алфавита потребуется ещё 52 байта. В итоге получается 66 + 52 = 118 байт. Сюда надо ещё добавить цифры (от 0 до 9), символ «пробел», все знаки препинания: точку, запятую, тире, восклицательный и вопросительный знаки, скобки: круглые, фигурные и квадратные, а также знаки математических операций: +, –, =, / (это деление), * (это умножение). Добавим также специальные символы: %, $, &, @, #, № и др. Все это вместе взятое как раз и составляет около 256 различных символов.

А дальше дело осталось за малым. Надо сделать так, чтобы все люди на Земле договорились между собой о том, какие именно коды (с 0 до 255, т.е. всего 256) присвоить символам. Допустим, все люди договорились, что код 33 означает восклицательный знак (!), а код 63 – вопросительный знак (?). И так же – для всех применяемых символов. Тогда это будет означать, что текст, набранный одним человеком на своем компьютере, всегда можно будет прочитать и распечатать другому человеку на другом компьютере.

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

Но не всё так просто. Ведь символы, которые хороши, например, для Греции, не подойдут для Турции потому, что там используются другие буквы. Аналогично то, что хорошо для США, не подойдет для России, а то, что подойдет для России, не годится для Германии.

Поэтому приняли решение разделить таблицу кодов пополам.

Первые 128 кодов (с 0 до 127) должны быть стандартными и обязательными для всех стран и для всех компьютеров, это – международный стандарт.

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

Первую (международную) половину таблицы кодов называют таблицей ASCII, которую создали в США и приняли во всем мире. За вторую половину кодовой таблицы стандарт ASCII не отвечает. Разные страны создают здесь свои национальные таблицы кодов. Может быть и так, что в пределах одной страны действуют разные стандарты, предназначенные для различных компьютерных систем, но только в пределах второй половины таблицы кодов.

Коды из международной таблицы ASCII

0-31 – особые символы, которые не распечатываются на экране или на принтере, а служат для выполнения специальных действий (например, для «перевода каретки» – перехода текста на новую строку, или для «табуляции» – установки курсора на специальные позиции в строке текста и т.п.).

32 – пробел (разделитель между словами – это тоже символ, подлежащий кодировке, хоть он и отображается в виде «пустого места» между словами и символами),

33-47 – специальные символы (круглые скобки и пр.) и знаки препинания (точка, запятая и пр.),

48-57 – цифры от 0 до 9,

58-64 – математические символы (плюс (+), минус (-), умножить (*), разделить (/) и пр.) и знаки препинания (двоеточие, точка с запятой и пр.),

65-90 – заглавные (прописные) английские буквы,

91-96 –  специальные символы (квадратные скобки и пр.),

97-122 – маленькие (строчные) английские буквы,

123-127 – специальные символы (фигурные скобки и пр.).

За пределами таблицы ASCII, начиная с цифры 128 по 159, идут заглавные (прописные) русские буквы, а со 160 по 170 и с 224 по 239 – маленькие (строчные) русские буквы.

Кодировка слова МИР

Пользуясь показанной кодировкой, мы можем представить себе, как компьютер кодирует и затем воспроизводит, например, слово МИР (заглавными буквами). Это слово представляется тремя кодами: букве М соответствует код 140 (по национальной российской системе кодировки), И – это код 136 и Р – это 144.

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

Десятичной цифре 140 соответствует двоичное число 10001100. Это можно проверить, если сделать следующие вычисления: 27 + 23 +22 = 140. Степень, в которую возводится каждая «двойка»  – это номер позиции двоичного числа 10001100, в которой стоит «1», причем позиции нумеруются справа налево, начиная с нулевого номера  позиции: 0, 1, 2 и т.д.

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

Аналогичным образом можно убедиться, что цифре 136 соответствует двоичное число 10001000 (проверка: 27 + 23 = 136). А цифре 144 соответствует двоичное число 10010000 (проверка: 27 + 24 = 144).

Таким образом, в компьютере слово МИР будет храниться в виде следующей последовательности нулей и единиц (бит): 10001100  10001000  10010000.

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

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

Упражнения по компьютерной грамотности , позволяющие самостоятельно увидеть и почувствовать описанные системы кодировок, приведены в статье «Проверяем, кодирует ли компьютер текст?»

P.S. Статья закончилась, но можно еще прочитать:

Представление информации в компьютере

Что такое переменная в программировании и чем она отличается от константы

Смотрим на кодировку цвета

 

rss