Таблица символов ascii шестнадцатеричный код. Кодирование текстовой информации

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

Стандарт ASCII

ASCII (American Standart Code for Inmormation Interchange) — американский стандартный код для обмена информацией. Каждый символ ASCII имеет 7 битов, поэтому максимальное число символов — 128 (таблица 1). Коды от 0 до 1F являются управляющими символами, которые не печатаются. Множество непечатных символов ASCII нужны для передачи данных. К примеру послание может состоять из символа начала заголовка SOH, самого заголовка и символа начала текста STX, самого текста и символа конца текста ETX, и символ конца передачи EOT. Однако данные по сети передаются в пакетах, которые сами отвечают за начало передачи и конец. Так что непечатные символы почти не используются.

Таблица 1 — таблица кодов ASCII

Число Команда Значение Число Команда Значение
0 NUL Пустой указатель 10 DLE Выход из системы передачи
1 SOH начало заголовка 11 DC1 Управление устройством
2 STX Начало текста 12 DC2 Управление устройством
3 ETX Конец текста 13 DC3 Управление устройством
4 EOT Конец передачи 14 DC4 Управление устройством
5 ACK Запрос 15 NAK Неподтверждение приема
6 BEL Подтверждение приема 16 SYN Простой
7 BS Символ звонка 17 ETB Конец блока передачи
8 HT Отступ назад 18 CAN Отмета
9 LF Горизонтальная табуляция 19 EM Конец носителя
A VT Перевод строки 1A SUB Подстрочный индекс
B FF Вертикальная табуляция 1B ESC Выход
C CR Перевод страницы 1C FS Разделитель файлов
D SO Возврат каретки 1D GS Разделитель группы
E SI Переключение на дополнительный регистр 1E RS Разделитель записи
SI Переключение на стандартный регистр 1F US Разделитель модуля
Число Символ Число Символ Число Символ Число Символ Число Символ Число Символ
20 пробел 30 0 40 @ 50 P 60 . 70 p
21 ! 31 1 41 A 51 Q 61 a 71 q
22 32 2 42 B 52 R 62 b 72 r
23 # 33 3 43 C 53 S 63 c 73 s
24 φ 34 4 44 D 54 T 64 d 74 t
25 % 35 5 45 E 55 И 65 e 75 и
26 & 36 6 46 F 56 V 66 f 76 v
27 37 7 47 G 57 W 67 g 77 w
28 ( 38 8 48 H 58 X 68 h 78 x
29 ) 39 9 49 I 59 Y 69 i 70 y
2A 3A ; 4A J 5A Z 6A j 7A z
2B + 3B ; 4B K 5B [ 6B k 7B {
2C 3C < 4C L 5C \ 6C l 7C |
2D 3D = 4D M 5D ] 6D m 7D }
2E 3E > 4E N 5E 6E n 7E ~
2F / 3F g 4F O 5F _ 6F o 7F DEL

Стандарт Unicode

Предыдущая кодировка отлично подходит для английского языка, однако для других языков она не удобная. К примеру в немецком языке есть умляуты, а в французском надстрочные знаки. Некоторые языки имеют совершенно разные алфавиты. Первой попыткой расширения ASCII был IS646, который расширял предыдущую кодировку еще на 128 символов. Добавлены были латинские буквы со штрихами и диакритическими знаками, и получил название — Latin 1. Следующая попытка была IS 8859 — которые содержал кодовую страницу. Были еще попытки расширений, но это все было не универсальным. Была создана кодировка UNICODE (is 10646). Идея кодировка в том, что бы приписать каждому символу единое постоянное 16-битное значение, которое называется — указателем кода . Всего получается 65536 указателей. Для экономии места использовали Latin-1 для кодов 0 -255, легко изменяя ASII в UNICODE. Такой стандарт решил много проблем, однако не все. В связи с поступлением новых слов, к примеру для японского языка нужно увеличивать количество терминов где-то на 20 тыс. Также нужно включить шрифт брайля.

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

Множество символов, с помощью которых записывается текст, называется алфавитом .

Число символов в алфавите - это его мощность .

Формула определения количества информации: N = 2 b ,

где N - мощность алфавита (количество символов),

b - количество бит (информационный вес символа).

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

Т.к. 256 = 2 8 , то вес 1 символа - 8 бит.

Единице измерения 8 бит присвоили название 1 байт:

1 байт = 8 бит.

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

Каким же образом текстовая информация представлена в памяти компьютера?

Кодирование заключается в том, что каждому символу ставится в соответствие уникальный десятичный код от 0 до 255 или соответствующий ему двоичный код от 00000000 до 11111111. Таким образом, человек различает символы по их начертанию, а компьютер - по их коду.

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

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

Понятно, что это дело условное, можно придумать множество способов кодировки.

Международным стандартом для ПК стала таблица ASCII (читается аски) (Американский стандартный код для информационного обмена).

Международным стандартом является лишь первая половина таблицы, т.е. символы с номерами от 0 (00000000), до 127 (01111111).

Порядковый номер

Символ

00000000 - 00011111


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

32 - 127

00100000 - 01111111


128 - 255

10000000 - 11111111


Вторая половина кодовой таблицы ASCII, называемая кодовой страницей (128 кодов, начиная с 10000000 и кончая 11111111), может иметь различные варианты , каждый вариант имеет свой номер.


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


Наиболее распространенной в настоящее время является кодировка Microsoft Windows, обозначаемая сокращением CP1251.

С конца 90-х годов проблема стандартизации символьного кодирования решается введением нового международного стандарта, который называется Unicode . Это 16-разрядная кодировка, т.е. в ней на каждый символ отводится 2 байта памяти. Конечно, при этом объем занимаемой памяти увеличивается в 2 раза. Но зато такая кодовая таблица допускает включение до 65536 символов. Полная спецификация стандарта Unicode включает в себя все существующие, вымершие и искусственно созданные алфавиты мира, а также множество математических, музыкальных, химических и прочих символов.

Попробуем с помощью таблицы ASCII представить, как будут выглядеть слова в памяти компьютера.

Слова

Память

01100110

01101001

01101100

01100101

01100100

01101001

01110011

01101011

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

Современные кодовые таблицы включают в себя международную и национальную части, т. е. содержат буквы латинского и национального алфавитов, цифры, знаки арифметических операций и препинания, математические и управляющие символы, символы псевдографики. Международная часть кодовой таблицы, базирующаяся на стандарте ASCII (American Standard Code for Information Interchange), кодирует первую половину символов кодовой таблицы с числовыми кодами от 0 до 7F 16 , или в десятичной системе счисления от 0 до 127. При этом коды от 0 до 20 16 (0 ? 32 10) отведены функциональным клавишам (F1, F2, F3 и т. д.) клавиатуры персонального компьютера. На рис. 3.1 приведена международная часть кодовых таблиц, основанная на стандарте ASCII. Ячейки таблиц пронумерованы соответственно в десятичной и шестнадцатеричной системе счисления.

Рис 3.1. Международная часть кодовой таблицы (стандарт ASCII) с номерами ячеек, представленных в десятичной (а) и шестнадцатеричной (б) системе счисления


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

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

Таблица 3.1

Одним из первых стандартов кодирования кириллицы на компьютерах был стандарт КОИ8-Р. Национальная часть кодовой таблицы этого стандарта приведена на рис. 3.2.

Рис. 3.2. Национальная часть кодовой таблицы стандарта КОИ8-Р


В настоящее время применяется и кодовая таблица, размещенная на странице СР866 стандарта кодирования текстовой информации, которая используется в операционной системе MS DOS или сеансе работы MS DOS для кодирования кириллицы (рис. 3.3, а).

Рис. 3.3. Национальная часть кодовой таблицы, размещенная на странице СР866 (а) и на странице СР1251 (б) стандарта кодирования текстовой информации


В настоящее время для кодирования кириллицы наибольшее распространение получила кодовая таблица, размещенная на странице СР1251 соответствующего стандарта, которая используется в операционных системах семейства Windows фирмы Microsoft (рис. 3.2, б). Во всех представленных кодовых таблицах, кроме таблицы стандарта Unicode, для кодирования одного символа отводится 8 двоичных разрядов (8 бит).

В конце прошлого века появился новый международный стандарт Unicode, в котором один символ представляется двухбайтовым двоичным кодом. Применение этого стандарта – продолжение разработки универсального международного стандарта, позволяющего решить проблему совместимости национальных кодировок символов. С помощью данного стандарта можно закодировать 2 16 = 65536 различных символов. На рис. 3.4 приведена кодовая таблица 0400 (русский алфавит) стандарта Unicode.

Рис. 3.4. Кодовая таблица 0400 стандарта Unicode


Поясним сказанное, касающееся кодирования текстовой информации, на примере.

Пример 3.1

Закодировать слово «Компьютер» в виде последовательности десятичных и шестнадцатеричных чисел, используя кодировку СР1251. Какие символы будут отображены в кодовых таблицах СР866 и КОИ8-Р при использовании полученного кода.

Последовательности шестнадцатеричного и двоичного кода слова «Компьютер» на основе кодировочной таблицы СР1251 (см. рис. 3.3, б) будут выглядеть следующим образом:

Данная кодовая последовательность в кодировках СР866 и КОИ8-Р приведет к отображению следующих символов:

Для преобразования русскоязычных текстовых документов из одного стандарта кодирования текстовой информации в другой используются специальные программы – конверторы. Конверторы обычно встраиваются в другие программы. Примером может служить программа браузер – Internet Explorer (IE), которая имеет встроенный конвертор. Программа браузер – это специальная программа для просмотра содержимого Web-страниц в глобальной компьютерной сети Интернет. Воспользуемся этой программой для подтверждения полученного в примере 3.1 результата отображения символов. Для этого выполним следующие действия.

1. Запустим программу Блокнот (NotePad). Программа Блокнот в операционной системе Windows ХР запускается с помощью команды: [Кнопка Пуск – Программы – Стандартные – Блокнот]. В открывшемся окне программы Блокнот напечатаем слово «Компьютер» с использованием синтаксиса языка разметки гипертекстовых документов – HTML (Hyper Text Markup Language). Этот язык используется для создания документов в Интернете. Текст должен выглядеть следующим образом:

Компыотер

, где

и

теги (специальные конструкции) языка HTML для разметки заголовков. На рис. 3.5 представлен результат этих действий.

Рис. 3.5. Отображение текста в окне Блокнот


Сохраним этот текст, выполнив команду: [Файл – Сохранить как…] в соответствующей папке компьютера, при сохранении текста файлу присвоим имя – Прим, с расширением файла. html.

2. Запустим программу Internet Explorer, выполнив команду: [Кнопка Пуск – Программы – Internet Explorer]. При запуске программы появится окно, представленное на рис. 3.6

Рис. 3.6. Окно доступа в автономный режим


Выберем и активизируем кнопку Автономно при этом не произойдет подключение компьютера к глобальной сети Интернет. Появится основное окно программы Microsoft Internet Explorer, представленное на рис. 3.7.

Рис. 3.7. Основное окно Microsoft Internet Explorer


Выполним следующую команду: [Файл – Открыть], появится окно (рис. 3.8), в котором необходимо указать имя файла и нажать кнопку ОК или нажать кнопку Обзор… и найти файл Прим.html.

Рис. 3.8. Окно «Открыть»


Основное окно программы Internet Explorer примет вид, показанный на рис. 3.9. В окне отобразится слово «Компьютер». Далее, используя верхнее меню программы Internet Explorer, выполним следующую команду: [Вид – Кодировка – Кириллица (DOS)]. После выполнения этой команды в окне программы Internet Ехplorer отобразятся символы, показанные на рис. 3.10. При выполнении команды: [Вид – Кодировка – Кириллица (KOI8-R) ] в окне программы Internet Explorer отобразятся символы, показанные на рис. 3.11.

Рис. 3.9. Символы, отображаемые при кодировке СР1251


Рис. 3.10. Символы, отображаемые при включении кодировки СР866 для кодовой последовательности, представляемой в кодировке СР1251


Рис. 3.11. Символы, отображаемые при включении кодировки КОИ8-Р для кодовой последовательности, представляемой в кодировке СР1251


Таким образом, полученные с помощью программы Internet Explorer последовательности символов совпадают с последовательностями символов, полученных с помощью кодовых таблиц СР866 и КОИ8-Р в примере 3.1.

3.2. Кодирование графической информации

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

Если более пристально рассмотреть графическое изображение на экране монитора компьютера, то можно увидеть большое количество разноцветных точек (пикселов – от англ. pixel, образованного от picture element – элемент изображения), которые, будучи собраны вместе, и образуют данное графическое изображение. Из этого можно сделать вывод: графическое изображение в компьютере определенным образом кодируется и должно быть представлено в виде графического файла. Файл является основной структурной единицей организации и хранения данных в компьютере и в данном случае должен содержать информацию о том, как представить этот набор точек на экране монитора.

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

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

В процессе кодирования изображения производится его пространственная дискретизация, т. е. изображение разбивается на отдельные точки и каждой точке задается код цвета (желтый, красный, синий и т. д.). Для кодирования каждой точки цветного графического изображения применяется принцип декомпозиции произвольного цвета на основные его составляющие, в качестве которых используют три основных цвета: красный (английское слово Red, обозначают буквой К), зеленый (Green, обозначают буквой G), синий (Blue, обозначают букой В). Любой цвет точки, воспринимаемый человеческим глазом, можно получить путем аддитивного (пропорционального) сложения (смешения) трех основных цветов – красного, зеленого и синего. Такая система кодирования называется цветовой системой RGB. Файлы графических изображений, в которых применяется цветовая система RGB, представляют каждую точку изображения в виде цветового триплета – трех числовых величин R, G и В, соответствующих интенсивностям красного, зеленого и синего цветов. Процесс кодирования графического изображения осуществляется с помощью различных технических средств (сканера, цифрового фотоаппарата, цифровой видеокамеры и т. д.); в результате получается растровое изображение. При воспроизведении цветных графических изображений на экране цветного монитора компьютера цвет каждой точки (пикселя) такого изображения получается путем смешения трех основных цветов R,G и B.

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

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

где I – количество информации; N – количество цветов, задаваемых точке.

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

Так, если количество цветов, задаваемых для точки изображения, N = 256, то количество информации необходимое для ее хранения (глубина цвета) в соответствии с формулой (3.1) будет равно I = 8 бит.

В компьютерах для отображения графической информации используются различные графические режимы работы монитора. Здесь необходимо отметить, что кроме графического режима работы монитора есть также текстовый режим, при котором экран монитора условно разбивается на 25 строк по 80 символов в строке. Эти графические режимы характеризуются разрешением экрана монитора и качеством цветопередачи (глубиной цвета). Для установки графического режима экрана монитора в операционной системе MS Windows ХР необходимо выполнить команду: [Кнопка Пуск – Настройка – Панель управления – Экран]. В появившемся диалоговом окне «Свойства: Экран» (рис. 3.12) необходимо выбрать вкладку «Параметры» и с помощью ползунка «Разрешение экрана» выбрать соответствующее разрешение экрана (800 на 600 точек, 1024 на 768 точек и т. д.). С помощью раскрывающегося списка «Качество цветопередачи» можно выбрать глубину цвета – «Самое высокое (32 бита)», «Среднее (16 бит)» и т. д., при этом количество цветов, задаваемых каждой точке изображения, будет соответственно равно 2 32 (4294967296), 2 16 (65536) и т. д.

Рис. 3.12. Диалоговое окно «Свойства: Экран»


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

где К – количество точек изображения на экране монитора (К = А · В); А – количество точек по горизонтали на экране монитора; В – количество точек по вертикали на экране монитора; I – количество информации (глубина цвета).

Так, если экран монитора имеет разрешающую способность 1024 на 768 точек и палитру, состоящую из 65 536 цветов, то глубина цвета в соответствии с формулой (3.1) составит I = log 2 65 538 = 16 бит, количество точек изображения будет равно: К = 1024 х 768 = 786432, и требуемый информационный объем видеопамяти в соответствии с (3.2) будет равен

V = 786432 · 16 бит = 12582912 бит = 1572864 байт = 1536 Кбайт = 1,5 Мбайт.

В заключение необходимо заметить, что кроме перечисленныхарактеристик важнейшими характеристиками монитора являются геометрические размеры его экрана и точки изображения. Геометрические размеры экрана задаются величиной диагонали монитора. Величина диагонали мониторов задается в дюймах (1 дюйм = 1" = 25,4 мм) и может принимать значения, равные: 14", 15", 17", 21" т. д. Современные технологии производства мониторов могут обеспечить размер точки изображения равный 0,22 мм.

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

Упражнения для самостоятельного выполнения

1. С помощью программы MS Excel преобразовать кодовые таблицы ASCII, СР866, СР1251, КОИ8-Р к таблицам вида: в ячейки первого столбца таблиц записать в алфавитном порядке заглавные, а затем строчные буквы латиницы и кириллицы, в ячейки второго столбца – соответствующие буквам коды в десятичной системе счисления, в ячейки третьего столбца – соответствующие буквам коды в шестнадцатеричной системе счисления. Значения кодов необходимо выбрать из соответствующих кодовых таблиц.

2. Закодировать и записать в виде последовательности чисел в десятичной и шестнадцатеричной системе счисления следующие слова:

a) Internet Explorer, б) Microsoft Office; в) CorelDRAW.

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

3. Декодировать с помощью модернизированной кодировочной таблицы КОИ8-Р последовательности чисел записанных в шестнадцатеричной системе счисления:

а) FC CB DA C9 D3 D4 C5 CE C3 C9 D1;

б) EB CF CE C6 CF D2 CD C9 DA CD;

в) FC CB D3 D0 D2 C5 D3 C9 CF CE C9 DA CD.

4. Как будет выглядеть слово «Кибернетика», записанное в кодировке СР1251, при использовании кодировок СР866 и КОИ8-Р? Проверить полученные результаты с помощью программы Internet Explorer.

5. Используя кодовую таблицу, приведенную на рис. 3.1а, декодировать следующие кодовые последовательности, записанные в двоичной системе счисления:

а) 01010111 01101111 01110010 01100100;

б) 01000101 01111000 01100011 01100101 01101100;

в) 01000001 01100011 01100011 01100101 01110011 01110011.

6. Определить информационный объем слова «Экономика», закодированного с помощью кодовых таблиц СР866, СР1251, Unicode и КОИ8-Р.

7. Определить информационный объем файла, полученного в результате сканирования цветного изображения размером 12x12 см. Разрешающая способность сканера, используемого при сканировании данного изображения, равна 600 dpi. Сканер задает глубину цвета точки изображения равной 16 бит.

Разрешающая способность сканера 600 dpi (dotper inch – точек на дюйм) определяет возможность сканера с такой разрешающей способностью на отрезке длиной 1 дюйм различить 600 точек.

8. Определить информационный объем файла, полученного в результате сканирования цветного изображения размером А4. Разрешающая способность сканера, используемого при сканировании данного изображения, равна 1200 dpi. Сканер задает глубину цвета точки изображения равной 24 бит.

9. Определить количество цветов в палитре при глубине цвета 8, 16, 24 и 32 бита.

10. Определить требуемый объем видеопамяти для графических режимов экрана монитора 640 на 480, 800 на 600, 1024 на 768 и 1280 на 1024 точек при глубине цвета точки изображения 8, 16, 24 и 32 бита. Результаты свести в таблицу. Разработать в MS Excel программу для автоматизации расчетов.

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

12. Определить максимально возможную разрешающую способность экрана монитора, имеющего длину диагонали 15" и размер точки изображения 0,28 мм.

13. Какие графические режимы работы монитора может обеспечить видеопамять объемом 64 Мбайт?

Сожержание

I. История кодирования информации………………………………..3

II. Кодирование информации…………………………………………4

III. Кодирование текстовой информации…………………………….4

IV. Виды таблиц кодировок…………………………………………...6

V. Расчет количества текстовой информации………………………14

Список используемой литературы…………………………………..16

I . История кодирования информации

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

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

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

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

Один из самых первых известных методов шифрования носит имя римского императора Юлия Цезаря (I век до н.э.) . Этот метод основан на замене каждой буквы шифруемого текста, на другую, путем смещения в алфавите от исходной буквы на фиксированное количество символов, причем алфавит читается по кругу, то есть после буквы я рассматривается а. Так слово «байт» при смещении на два символа вправо кодируется словом «гвлф». Обратный процесс расшифровки данного слова – необходимо заменять каждую зашифрованную букву, на вторую слева от неё.

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

Код – это набор условных обозначений (или сигналов) для записи (или передачи) некоторых заранее определенных понятий.

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

Обычно каждый образ при кодировании (иногда говорят – шифровке) представлении отдельным знаком.

Знак - это элемент конечного множества отличных друг от друга элементов.

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

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

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

III. Кодирование текстовой информации

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

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

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

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

С точки зрения ЭВМ текст состоит из отдельных символов. К числу символов принадлежат не только буквы (заглавные или строчные, латинские или русские), но и цифры, знаки препинания, спецсимволы типа "=", "(", "&" и т.п. и даже (обратите особое внимание !) пробелы между словами.

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

Традиционно для кодирования одного символа используется количество информации, равное 1 байту, т. е. I = 1 байт = 8 бит. При помощи формулы, которая связывает между собой количество возможных событий К и количество информации I, можно вычислить сколько различных символов можно закодировать (считая, что символы - это возможные события): К = 2 I = 2 8 = 256, т. е. для представления текстовой информации можно использовать алфавит мощностью 256 символов.

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

Кодирование заключается в том, что каждому символу ставится в соответствие уникальный десятичный код от 0 до 255 или соответствующий ему двоичный код от 00000000 до 11111111. Таким образом, человек различает символы по их начертанию, а компьютер - по их коду.

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

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

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

Все символы компьютерного алфавита пронумерованы от 0 до 255. Каждому номеру соответствует восьмиразрядный двоичный код от 00000000 до 11111111. Этот код просто порядковый номер символа в двоичной системе счисления.

IV . Виды таблиц кодировок

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

Для разных типов ЭВМ используются различные таблицы кодировки.

В качестве международного стандарта принята кодовая таблица ASCII (American Standard Code for Information Interchange - Американский стандартный код для информационного обмена), кодирующая первую половину символов с числовыми кодами от 0 до 127 (коды от 0 до 32 отведены не символам, а функциональным клавишам).

Таблица кодов ASCII делится на две части.

Международным стандартом является лишь первая половина таблицы, т.е. символы с номерами от 0 (00000000), до 127 (01111111).

Структура таблицы кодировки ASCII

Порядковый номер Код Символ
0 - 31 00000000 - 00011111

Символы с номерами от 0 до 31 принято называть управляющими.

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

32 - 127 0100000 - 01111111

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

Символ 32 - пробел, т.е. пустая позиция в тексте.

Все остальные отражаются определенными знаками.

128 - 255 10000000 - 11111111

Альтернативная часть таблицы (русская).

Вторая половина кодовой таблицы ASCII, называемая кодовой страницей (128 кодов, начиная с 10000000 и кончая 11111111), может иметь различные варианты, каждый вариант имеет свой номер.

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

Первая половина таблицы кодов ASCII

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

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

Вторая половина таблицы кодов ASCII

К сожалению, в настоящее время существуют пять различных кодировок кириллицы (КОИ8-Р, Windows. MS-DOS, Macintosh и ISO). Из-за этого часто возникают проблемы с переносом русского текста с одного компьютера на другой, из одной программной системы в другую.

Хронологически одним из первых стандартов кодирования русских букв на компьютерах был КОИ8 ("Код обмена информацией, 8-битный"). Эта кодировка применялась еще в 70-ые годы на компьютерах серии ЕС ЭВМ, а с середины 80-х стала использоваться в первых русифицированных версиях операционной системы UNIX.

От начала 90-х годов, времени господства операционной системы MS DOS, остается кодировка CP866 ("CP" означает "Code Page", "кодовая страница").

Компьютеры фирмы Apple, работающие под управлением операционной системы Mac OS, используют свою собственную кодировку Mac.

Кроме того, Международная организация по стандартизации (International Standards Organization, ISO) утвердила в качестве стандарта для русского языка еще одну кодировку под названием ISO 8859-5.

Наиболее распространенной в настоящее время является кодировка Microsoft Windows, обозначаемая сокращением CP1251. Введена компанией Microsoft; с учетом широкого распространения операционных систем (ОС) и других программных продуктов этой компании в Российской Федерации она нашла широкое распространение.

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

Это 16-разрядная кодировка, т.е. в ней на каждый символ отводится 2 байта памяти. Конечно, при этом объем занимаемой памяти увеличивается в 2 раза. Но зато такая кодовая таблица допускает включение до 65536 символов. Полная спецификация стандарта Unicode включает в себя все существующие, вымершие и искусственно созданные алфавиты мира, а также множество математических, музыкальных, химических и прочих символов.

Внутреннее представление слов в памяти компьютера

с помощью таблицы ASCII

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

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

Например, последовательность числовых кодов 221, 194, 204 в кодировке СР1251 образует слово «ЭВМ», тогда как в других кодировках это будет бессмысленный набор символов.

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

V . Расчет количества текстовой информации

Задача 1: Закодируйте слово “Рим” с помощью таблиц кодировок КОИ8-Р и CP1251.

Решение:

Задача 2: Считая, что каждый символ кодируется одним байтом, оцените информационный объем следующего предложения:

“Мой дядя самых честных правил,

Когда не в шутку занемог,

Он уважать себя заставил

И лучше выдумать не мог.”

Решение: В данной фразе 108 символов, учитывая знаки препинания, кавычки и пробелы. Умножаем это количество на 8 бит. Получаем 108*8=864 бита.

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

Решение:

1) I = К * а (информационный объем текста равен произведению числа символов на информационный вес одного символа).

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

3) 2 а1 = 32, т.е. а 1 = 5 бит, 2 а2 = 16, т.е. а 2 = 4 бит.

4) I 1 = К * 5 бит, I 2 = К * 4 бит.

5) Значит, текст, записанный на русском языке в 5/4 раза несет больше информации.

Задача 4: Объем сообщения, содержащего 2048 символов, составил 1/512 часть Мбайта. Определить мощность алфавита.

Решение:

1) I = 1/512 * 1024 * 1024 * 8 = 16384 бит – перевели в биты информационный объем сообщения.

2) а = I / К = 16384 /1024 =16 бит – приходится на один символ алфавита.

3) 2*16*2048 = 65536 символов – мощность использованного алфавита.

Задача 5: Лазерный принтер Canon LBP печатает со скоростью в среднем 6,3 Кбит в секунду. Сколько времени понадобится для распечатки 8-ми страничного документа, если известно, что на одной странице в среднем по 45 строк, в строке 70 символов (1 символ – 1 байт)?

Решение:

1) Находим количество информации, содержащейся на 1 странице: 45 * 70 * 8 бит = 25200 бит

2) Находим количество информации на 8 страницах: 25200 * 8 = 201600 бит

3) Приводим к единым единицам измерения. Для этого Мбиты переводим в биты: 6,3*1024=6451,2 бит/сек.

4) Находим время печати: 201600: 6451,2 =31 секунда.

Список используемой литературы

1. Агеев В.М. Теория информации и кодирования: дискретизация и кодирование измерительной информации. - М.: МАИ, 1977.

2. Кузьмин И.В., Кедрус В.А. Основы теории информации и кодирования. - Киев, Вища школа, 1986.

3. Простейшие методы шифрования текста/ Д.М. Златопольский. – М.: Чистые пруды, 2007 – 32 с.

4. Угринович Н.Д. Информатика и информационные технологии. Учебник для 10-11 классов / Н.Д.Угринович. – М.: БИНОМ. Лаборатория знаний, 2003. – 512 с.

5. http://school497.spb.edu.ru/uchint002/les10/les.html#n

Материал для самостоятельного изучения по теме Лекции 2

Кодировка ASCII

Кодировочная таблица ASCII (ASCII - American Standard Code for Information Interchange - Американский стандартный код для обмена информацией).

Всего с помощью таблицы кодирования ASCII (рисунок 1) можно закодировать 256 различных символов. Эта таблица разделена на две части: основную (с кодами от OOh до 7Fh) и дополнительную (от 80h до FFh, где буква h обозначает принадлежность кода к шестнадцатеричной системе счисления).

Рисунок 1

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

Например, слово hello! будет закодировано следующим образом (таблица 1).

Таблица 1

Код двоичный

Код десятичный

На рисунке 1 представлены символы, входящие в стандартную (английскую) и расширенную (русскую) кодировку ASCII.

Первая половина таблицы ASCII стандартизована. Она содержит управляющие коды (от 00h до 20h и 77h). Эти коды из таблицы изъяты, так как они не относятся к текстовым элементам. Здесь же размещаются знаки пунктуации и математические знаки: 2lh - !, 26h - &, 28h - (, 2Bh -+,..., большие и малые латинские буквы: 41h - A, 61h – а.

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

Дисплей по каждому коду символа должен вывести на экран изображение символа – не просто цифровой код, а соответствующую ему картинку, так как каждый символ имеет свою форму. Описание формы каждого символа хранится в специальной памяти дисплея - знакогенераторе. Высвечивание символа на экране дисплея IBМ PC, например, осуществляется с помощью точек, образующих символьную матрицу. Каждый пиксел в такой матрице является элементом изображения и может быть ярким или темным. Темная точка кодируется цифрой 0, светлая (яркая)- 1. Если изображать в матричном поле знака темные пикселы точкой, а светлые - звездочкой, то можно графически изобразить форму символа.

Люди в разных странах используют символы для записи слов их родных зыков. В наши дни большинство приложений, включая системы электронной почты и вэб-браузеры, являются чисто 8-битными, то есть они могут показывать и корректно воспринимать лишь 8-битные символы, согласно стандарту ISO-8859-1.

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

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

Появляются новые символы (например: Евро), вследствие чего ISO разрабатывает новый стандарт ISO-8859-15, который весьма схож со стандартом ISO-8859-1. Разница состоит в следующем: из таблицы кодировки старого стандарта ISO-8859-1 были убраны символы обозначения старых валют, которые не используются в настоящее время, для того, чтобы освободить место под вновь появившиеся символы (такие, как Евро). В результате у пользователей на дисках могут лежать одни и те же документы, но в разных кодировках. Решением этих проблем является принятие единого международного набора кодировок, который называется универсальным кодированием или Unicode.

Кодировка Unicode

Стандарт предложен в 1991 году некоммерческой организацией «Консорциум Юникода» (англ. Unicode Consortium, Unicode Inc.). Применение этого стандарта позволяет закодировать очень большое число символов из разных письменностей: в документах Unicode могут соседствовать китайские иероглифы, математические символы, буквы греческого алфавита, латиницы и кириллицы, при этом становится ненужным переключение кодовых страниц.

Стандарт состоит из двух основных разделов: универсальный набор символов (англ. UCS, universal character set) и семейство кодировок (англ. UTF, Unicode transformation format). Универсальный набор символов задаёт однозначное соответствие символов кодам - элементам кодового пространства, представляющим неотрицательные целые числа. Семейство кодировок определяет машинное представление последовательности кодов UCS.

Стандарт Unicode был разработан с целью создания единой кодировки символов всех современных и многих древних письменных языков. Каждый символ в этом стандарте кодируется 16 битами, что позволяет ему охватить несравненно большее количество символов, чем принятые ранее 8-битовые кодировки. Еще одним важным отличием Unicode от других систем кодировки является то, что он не только приписывает каждому символу уникальный код, но и определяет различные характеристики этого символа, например:

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

    атрибуты символа (отображение слева направо или справа налево, пробел, разрыв строки и т.д.);

    соответствующая прописная или строчная буква (для строчных и прописных букв соответственно);

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

Весь диапазон кодов от 0 до FFFF разбит на несколько стандартных подмножеств, каждое из которых соответствует либо алфавиту какого-то языка, либо группе специальных символов, сходных по своим функциям. На приведенной ниже схеме содержится общий перечень подмножеств Unicode 3.0 (рисунок 2).

Рисунок 2

Стандарт Unicode является основой для хранения и текста во многих современных компьютерных системах. Однако, он не совместим с большинством Интернет-протоколов, поскольку его коды могут содержать любые байтовые значения, а протоколы обычно используют байты 00 - 1F и FE - FF в качестве служебных. Для достижения совместимости были разработаны несколько форматов преобразования Unicode (UTFs, Unicode Transformation Formats), из которых на сегодня наиболее распространенным является UTF-8. Этот формат определяет следующие правила преобразования каждого кода Unicode в набор байтов (от одного до трех), пригодных для транспортировки Интернет-протоколами.

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

Дальнейшее развитие стандарта Unicode связано с добавлением новых языковых плоскостей, т.е. символов в диапазонах 10000 - 1FFFF, 20000 - 2FFFF и т.д., куда предполагается включать кодировку для письменностей мертвых языков, не попавших в таблицу, приведенную выше. Для кодирования этих дополнительных символов был разработан новый формат UTF-16.

Таким образом, существует 4 основных способа кодировки байтами в формате Unicode:

UTF-8: 128 символов кодируются одним байтом (формат ASCII), 1920 символов кодируются 2-мя байтами ((Roman, Greek, Cyrillic, Coptic, Armenian, Hebrew, Arabic символы), 63488 символов кодируются 3-мя байтами (Китайский, японский и др.) Оставшиеся 2 147 418 112 символы (еще не использованы) могут быть закодированы 4, 5 или 6-ю байтами.

UCS-2: Каждый символ представлен 2-мя байтами. Данная кодировка включает лишь первые 65 535 символов из формата Unicode.

UTF-16:Является расширением UCS-2, включает 1 114 112 символов формата Unicode. Первые 65 535 символов представлены 2-мя байтами, остальные - 4-мя байтами.

USC-4: Каждый символ кодируется 4-мя байтами.

[8-битные кодировки: ASCII, КОИ-8R и CP1251 ] Первые таблицы кодировки, созданные в США, не использовали восьмой бит в байте. Текст представлялся как последовательность байт, но восьмой бит не учитывался (он применялся в служебных целях).

Общепризнанным стандартом стала таблица ASCII (American Standard Code for Information Interchange). Первые 32 символа таблицы ASCII (от 00 до 1F) использовались для непечатаемых символов. Они были предназначены для управления печатающим устройством и т.п. Остальная часть - от 20 до 7F - обычные (печатаемые) символы.

Таблица 1 - кодировка ASCII

Dec Hex Oct Char Description
0 0 000 null
1 1 001 start of heading
2 2 002 start of text
3 3 003 end of text
4 4 004 end of transmission
5 5 005 enquiry
6 6 006 acknowledge
7 7 007 bell
8 8 010 backspace
9 9 011 horizontal tab
10 A 012 new line
11 B 013 vertical tab
12 C 014 new page
13 D 015 carriage return
14 E 016 shift out
15 F 017 shift in
16 10 020 data link escape
17 11 021 device control 1
18 12 022 device control 2
19 13 023 device control 3
20 14 024 device control 4
21 15 025 negative acknowledge
22 16 026 synchronous idle
23 17 027 end of trans. block
24 18 030 cancel
25 19 031 end of medium
26 1A 032 substitute
27 1B 033 escape
28 1C 034 file separator
29 1D 035 group separator
30 1E 036 record separator
31 1F 037 unit separator
32 20 040 space
33 21 041 !
34 22 042 "
35 23 043 #
36 24 044 $
37 25 045 %
38 26 046 &
39 27 047 "
40 28 050 (
41 29 051 )
42 2A 052 *
43 2B 053 +
44 2C 054 ,
45 2D 055 -
46 2E 056 .
47 2F 057 /
48 30 060 0
49 31 061 1
50 32 062 2
51 33 063 3
52 34 064 4
53 35 065 5
54 36 066 6
55 37 067 7
56 38 070 8
57 39 071 9
58 3A 072 :
59 3B 073 ;
60 3C 074 <
61 3D 075 =
62 3E 076 >
63 3F 077 ?
Dec Hex Oct Char
64 40 100 @
65 41 101 A
66 42 102 B
67 43 103 C
68 44 104 D
69 45 105 E
70 46 106 F
71 47 107 G
72 48 110 H
73 49 111 I
74 4A 112 J
75 4B 113 K
76 4C 114 L
77 4D 115 M
78 4E 116 N
79 4F 117 O
80 50 120 P
81 51 121 Q
82 52 122 R
83 53 123 S
84 54 124 T
85 55 125 U
86 56 126 V
87 57 127 W
88 58 130 X
89 59 131 Y
90 5A 132 Z
91 5B 133 [
92 5C 134 \
93 5D 135 ]
94 5E 136 ^
95 5F 137 _
96 60 140 `
97 61 141 a
98 62 142 b
99 63 143 c
100 64 144 d
101 65 145 e
102 66 146 f
103 67 147 g
104 68 150 h
105 69 151 i
106 6A 152 j
107 6B 153 k
108 6C 154 l
109 6D 155 m
110 6E 156 n
111 6F 157 o
112 70 160 p
113 71 161 q
114 72 162 r
115 73 163 s
116 74 164 t
117 75 165 u
118 76 166 v
119 77 167 w
120 78 170 x
121 79 171 y
122 7A 172 z
123 7B 173 {
124 7C 174 |
125 7D 175 }
126 7E 176 ~
127 7F 177 DEL

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

Для этого было принято решение использовать восьмой бит в каждом байте. Тем самым оказались доступны ещё 128 значений (от 80 до FF), которые можно было использовать для кодирования символов. Первая из восьмибитных таблиц - “расширенный ASCII” (Extended ASCII ) - включала в себя различные варианты латинских символов, применяемые в некоторых языках Западной Европы. Также в ней были другие дополнительные символы, включая псевдографику.

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

Русских букв в таблице Extended ASCII не было. В России (ранее - СССР) и в других государствах создавались свои кодировки, позволяющие представлять в 8-битных текстовых файлах специфические “национальные” символы - латинские буквы польского и чешского языков, кириллицу (включая русские буквы) и другие алфавиты.

Во всех кодировках, получивших распространение, первые 127 символов (т.е. значения байта при восьмом бите, равном 0) совпадают с ASCII. Таким образом, файл в формате ASCII работает в любой из этих кодировок; буквы английского языка в них представлены одинаково.

Организация ISO (International Standardization Organization - Международная Организация по Стандартам) приняла группу стандартов ISO 8859 . Она определяет 8-битные кодировки для разных групп языков. Так, ISO 8859-1 - это Extended ASCII, таблица для США и Западной Европы. А ISO 8859-5 - таблица для кириллицы (включая русский язык).

Однако по историческим причинам кодировка ISO 8859-5 не прижилась. Реально для русского языка применяются следующие кодировки:

Code Page 866 (CP866 ), она же “DOS”, она же “альтернативная кодировка ГОСТ”. Широко применялась до середины 90-х годов; теперь используется ограниченно. Практически не применяется для распространения текстов в Интернете.
- КОИ-8. Разработана в 70-80-е годы. Является общепринятым стандартом для передачи почтовых сообщений в российском Интернете. Широко применяется также в операционных системах семейства Unix, включая Linux. Вариант КОИ-8, рассчитанный на русский язык, называется КОИ-8R ; существуют версии для иных кириллических языков (так, KOI8-U - вариант для украинского языка).
- Code Page 1251, CP1251 , Windows-1251. Разработана компанией Microsoft для поддержки русского языка в системе Windows.

Основным достоинством CP866 было сохранение символов псевдографики на тех же местах, что и в Extended ASCII; поэтому могли без изменений работать зарубежные текстовые программы, например, знаменитый Norton Commander. Ныне CP866 используется для программ под Windows, работающих в текстовых окнах или в полноэкранном текстовом режиме, включая FAR Manager.

Тексты в CP866 в последние годы встречаются довольно редко (зато она используется для кодирования русских имен файлов в Windows). Поэтому мы подробнее остановимся на двух других кодировках - КОИ-8R и CP1251.



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

А вот в КОИ-8R порядок русских букв кажется случайным. Но на самом деле это не так.

Во многих старых программах при обработке или передаче текста терялся 8-й бит. (Сейчас такие программы практически “вымерли”, но в конце 80-х - начале 90-х годов они были широко распространены). Чтобы получить из 8-битного значения 7-битное, достаточно отнять от старшей цифры 8; например, E1 превращается в 61.

А теперь сравните КОИ-8R с таблицей ASCII (табл.1). Вы обнаружите, что русские буквы поставлены в чёткое соответствие с латинскими. Если исчезнет восьмой бит, строчные русские буквы превращаются в заглавные латинские, а заглавные русские - в строчные латинские. Так, E1 в КОИ-8 - это русское “А”, тогда как 61 в ASCII - латинское “a”.

Итак, КОИ-8 позволяет сохранять читаемость русского текста при потере 8-го бита. “Привет всем” превращается в “pRIWET WSEM”.

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

Из-за того, что распространённых кодировок оказалось две, при работе с Интернетом (почта, просмотр Web-сайтов) иногда можно вместо русского текста увидеть бессмысленный набор букв. Например, “Я СБЮФЕМХЕЛ”. Это всего лишь слова “с уважением”; но они были закодированы в кодировке CP1251, а компьютер декодировал текст по таблице КОИ-8. Если те же слова были, наоборот, закодированы в КОИ-8, а компьютер декодировал текст по таблице CP1251, результатом будет “У ХЧБЦЕОЙЕН”.

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

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

Для статьи использовалась информация странички http://open-office.edusite.ru/TextProcessor/p5aa1.html .

Материал взят с сайта:

По данным Международного Союза электросвязи, в 2016 году Интернетом с той или иной регулярностью пользовалось три с половиной миллиарда человек. Большинство из них даже не задумываются о том, что любые сообщения, посылаемые ими через ПК или мобильные гаджеты, а также тексты, которые отображаются на всевозможных мониторах, на самом деле представляют собой комбинации из 0 и 1. Такое представление информации называется кодированием. Оно обеспечивает и значительно облегчает осуществление ее хранения, обработки и передачи. В 1963 году была разработана американская кодировка ASCII, которой и посвящена данная статья.

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

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

Множество символов, из которых состоит текст, называется алфавитом, а их количество — мощностью (обозначается, как N). Для ее определения используется выражение N = 2^b, где b — число бит или информационный вес конкретного символа.

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

Так как 256 представляет собой 8 степень двойки, то вес каждого символа равен 8 бит.

Единица измерения 8 бит называется 1 байтом, поэтому принято говорить, что любого символа в тексте, хранящемся на компьютере, занимает один байт памяти.

Как осуществляется кодирование

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

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

Кодировка символов ASCII

Эта аббревиатура на английском расшифровывается как code for information interchange.

Еще на заре компьютеризации стало очевидно, что можно придумать самые разнообразные способы кодировки информации. Однако для переноса информации с одной ЭВМ на другую требовалось разработать единый стандарт. Так, в 1963 году в США появилась таблица кодировки ASCII. В ней любому символу компьютерного алфавита поставлен в соответствие его порядковый номер в двоичном представлении. Изначально кодировка ASCII использовалась только в Соединенных Штатах, а затем стала международным стандартом для ПК.

Коды ASCII делятся на 2 части. Международным стандартом считается лишь первая половина этой таблицы. В нее входят символы с порядковыми номерами от 0 (кодируется как 00000000) до 127 (код 01111111).

Порядковый номер

Кодировка текста ASCII

Символ

0000 0000 - 0001 1111

Символы с N от 0 до 31 называют управляющими. Их функцией является «руководство» процессом вывода текста на монитор или печатающее устройство, подача звукового сигнала и т.п.

0010 0000 - 0111 1111

Символы с N от 32 до 127 (стандартная часть таблицы) — прописные и строчные буквы латинского алфавита, 10-ные цифры, знаки препинания, а также различные скобки, коммерческие и др. символы. Символом 32 обозначается пробел.

1000 0000 - 1111 1111

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

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

Управляющие символы

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

Самым распространенным «телетайпным» символом является NUL (00, «нулевой»). Он и по сей день используется в большинстве языков программирования, обозначая признак конца строки.

Где применяют кодировку ASCII

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

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

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

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

Некоторые особенности

Для кодирования текстовой информации в кодировке ASCII изначально использовали 7 бит (один оставался пустым), однако сегодня она работает как 8-битная.

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

Применение ASCII в Microsoft Office

При необходимости этот вид кодирования текстовой информации может использоваться в текстовых редакторах корпорации Microsoft, таких как Notepad и Office Word. Однако при наборе текста в таком случае будет невозможно использовать некоторые функции. Например, вы не сможете осуществлять выделение жирным шрифтом, так как кодировка ASCII сохраняет только смысл информации, игнорируя ее общий вид и форму.

Стандартизация

Организация ISO приняла стандарты ISO 8859. Эта группа определяет восьмибитные кодировки для разных языковых групп. В частности, ISO 8859-1 — это Extended ASCII, представляющая собой таблицу для Соединенных Штатов и стран Западной Европы. А ISO 8859-5 — это таблица, применяемая для кириллицы, в том числе для русского языка.

По ряду исторических причин стандарт ISO 8859-5 использовался очень недолго.

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

  • CP866 (Code Page 866) или DOS, которая часто называется альтернативной кодировкой ГОСТ. Она активно использовалась до середины 90-х годов прошлого века. На данный момент практически не используется.
  • КОИ-8. Кодировка была разработана в 1970-80-е годы, и на данный момент это общепринятый стандарт для почтовых сообщений в Рунете. Она широко применяется и в ОС семейства Unix, в том числе Linux. «Русский» вариант КОИ-8 называется КОИ-8R. Кроме того, существуют версии и для других кириллических языков, например украинского.
  • Code Page 1251 (CP 1251, Windows - 1251). Разработан корпорацией Microsoft для обеспечения поддержки русского языка в среде Windows.

Основным достоинством первого стандарта CP866 было сохранение псевдографических символов на тех же позициях, что и в Extended ASCII. Это позволяло запускать без изменений текстовые программы, зарубежного производства, такие как известный Norton Commander. На данный момент CP866 применяется для программ, разработанных под Windows, которые работают в полноэкранном текстовом режиме или в текстовых окнах, в том числе в FAR Manager.

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

"Юникод"

На данный момент наиболее широкое распространение получила именно эта кодировка. Коды "Юникода" разделены на области. Первая (от U+0000 до U+007F) включает символы набора ASCII с кодами. Затем следуют области знаков различных национальных письменностей, а также пунктуационные знаки и технические символы. Кроме того, часть кодов "Юникода" зарезервирована на случай возникновения необходимости включить новые символы в будущем.

Теперь вы знаете, что в кодировке ASCII каждый символ представляется как комбинация 8 нулей и единиц. Неспециалистам эта информация может показаться ненужной и неинтересной, но разве вам не хочет знать, что происходит «в мозгах» вашего ПК?!

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

Таблица ASCII

ASCII (American Standard Code for Information Interchange)

Сводная таблица кодов ASCII

ASCII таблица кодов символов Windows (Win-1251)

Символ

спец. Табуляция

спец. LF (Возвр. каретки)

спец. CR (Новая строка)

сцеп. SP (Пробел)

Символ

Расширенная таблица кодов ASCII

Символы форматирования.

Backspace (Возврат на один символ). Показывает на движение механизма печати либо курсора дисплея назад на одну позицию.

Horizontal Tabulation (Горизонтальное Табулирование). Показывает движение механизма печати либо курсора дисплея до следующей предписанной "позиции табуляции".

Line Feed (Перевод строки). Показывает движение механизма печати либо курсора дисплея к началу следующей строки (на одну строку вниз).

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

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

Carriage Return (Перевод каретки). Показывает движение механизма печати либо курсора дисплея к исходной (крайней левой)позиции текущей строки.

Передача данных.

Start of Heading (Начало Заголовка). Применяется для определения начала заголовка, который может содержать информацию о маршрутизации или адрес.

Start of Text (Начало Текста). Показывает начало текста и одновременно конец заголовка.

End of Text (Конец Текста). Применяется при завершении текста, который был начат с символа STX.

Enquiry (Запрос). Запрос идентификационных данных (типа "Кто Вы?") от удаленной станции.

Acknowledge (Подтверждение). Приемное устройство передает этот символ отправителю в качестве подтверждения успешного приема данных.

Negative Acknowledgement (Неподтверждение). Приемное устройство передает этот символ отправителю в случае отрицания (неудачи) приема данных.

Synchronous/Idle (Синхронизация). Применяется в синхронизированных системах передачи. В моменты отсутствия передачи данных система непрерывно посылает символы SYN для обеспечения синхронизации.

End of Transmission Block (Конец Блока Передачи). Показывает конец блока данных для коммуникационных целей. Применяется для разбиения на отдельные блоки больших объемов данных.

Разделительные знаки при передаче информации.

Другие символы.

Null. (No character- нет данных). Применяется для передачи в случае отсутствия данных.

Bell (Звонок). Применяется для управления устройствами сигнализации.

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

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

Data Link Escape (Переключение). Изменение значения идущих следом символов. Применяется для дополнительного контроля или для передачи произвольной комбинации бит.

DC1, DC2, DC3, DC4

Device Controls (Контроль Устройства). Символы для управления вспомогательными устройствами (специальными функциями).

Cancel (Отмена). Показывает, что данные, которые предшествовали этому символу в сообщении или блоке, должны игнорироваться (обычно в случае обнаружения ошибки).

End of Medium (Конец Носителя). Указывает на физический конец ленты или другого носителя информации

Substitute (Заместитель). Применяется для подмены ошибочного или недопустимого символа.

Escape (Расширение). Применяется для расширения кода, указывая на то, что последующий символ имеет альтернативное значение.

Space (Пробел). Непечатаемый символ для разделения слов или перемещения механизма печати или курсора дисплея вперед на одну позицию.

Delete (Удаление). Применяется для удаления (стирания) предыдущего знака в сообщении



Просмотров