Главная страница

Учебник для вузов Общие сведения Аппаратное обеспечение


Скачать 5.31 Mb.
НазваниеУчебник для вузов Общие сведения Аппаратное обеспечение
Дата13.02.2023
Размер5.31 Mb.
Формат файлаdocx
Имя файлаa.s.-groshev.-informatika.-uchebnik-2015 (1)-1-200.docx
ТипУчебник
#935763
страница3 из 31
1   2   3   4   5   6   7   8   9   ...   31

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


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

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


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

В англоязычных странах используются 26 прописных и 26 строчных букв (A … Z, a … z), 9 знаков препинания (., : ! " ; ? ( ) ), пробел, 10 цифр, 5 знаков арифметических действий (+,-,*, /, ^) и специальные символы (№,

%, _, #, $, &, >, <, |, \) – всего чуть больше 100 символов. Таким образом, для кодирования этих символов можно ограничиться 7-разрядным двоич- ным числом (от 0 до 1111111, в десятичной системе счисления – от 0 до 127).

Первой такой 7-разрядной кодовой таблицей была ASCII (American Standard Code for Information Interchange), опубликованная как стандарт в 1963 г. американской организацией по стандартизации American Standards Association (ASA), которая позднее стала именоваться ANSI(American National Standards Institute, http://www.ansi.org/, поэтому данную кодовую таблицу называют также и ANSI). Таблица содержала 32 кода команд или управляющих символов (от 0 до 31), большая часть которых сегодня не используется, и 95 кодов (от 33 до 127) для различных знаков, достаточных

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

1-я строка с 00 по 0F и далее с 10 по 1F (0 15, 16 - 31),

2-я строка с 20 по 2F и 30 3F (32 47, 48 - 63),

3-я строка с 40 по 4F и 50 5F (64 – 79, 80 -95),

4-я строка с 60 по 6F и 70 7F (96 111, 112 -127).

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




Рисунок 1.1. 7-битная кодовая таблица ASCII(ANSI)

В последующем данная таблица ASCII была принята как стандарт ведущими международными организациями по стандартизации:

ISO/IEC646:1991(ISO http://www.iso.org/ International Organiza- tion for Standardization и IEC http://www.iec.ch/ International Electrotech- nical Commission ведущие международные организации по стандартиза- ции, в области электротехники совместные стандарты), ITU-TRecom-mendation T.50 (09/92) (The International Telecommunication Union – http://www.itu.int/), ECMA-6 (European Computer Manufacturers Association). Однако для нашей страны и многих других стран необходимо было добавить в кодовую таблицу символы национальных алфавитов. Для этого было предложено использовать 8-битную кодовую таблицу, которая могла

содержать дополнительно еще 128 символов 128 по 255).

В дальнейшем был принят стандарт на 8-битную таблицу ASCII ISO/IEC 8859, в которой первые 128 символов оставались те же, что и в 7- битной таблице, а символы с 128 по 255 отводились для неанглийских символов.

Существует несколько частей этого стандарта:

  • ISO/IEC8859-1:1998 Part 1: Latin alphabet No. 1,

  • ISO/IEC8859-5:1999 Part 5: Latin/Cyrillic alphabet,

  • ISO/IEC8859-6:1999 Part 6: Latin/Arabic alphabet,

  • ISO/IEC8859-7:2003 Part 7: Latin/Greek alphabet,

  • ISO/IEC8859-8:1999 Part 8: Latin/Hebrew alphabet и т. д.



На рисунке 1.2 представлена вторая половина кодовой таблицы (ко- ды 128-255) для стандарта ISO8859-5.




Рисунок 1.2. Кодовая таблица ISO 8859-5 (коды с 12810 по 25510) Первые русские ЭВМ использовали 7-битную кодировку символов

КОИ-7 (Код Обмена Информацией семибитный – рисунок 1.3), в которой присутствовали прописные латинские буквы, а на месте строчных латин- ских были русские прописные буквы (кириллица).

Рисунок 1.3. 7-битная таблица символов КОИ-7

Позднее на первых отечественных персональных компьютерах ис- пользовалась так называемая «Основная кодировка ВЦ Академии Наук СССР», в руководствах к старым матричным принтерам обозначаемая просто как «ГОСТ» – 8-битная кодовая таблица, вторая половина которой содержала символы псевдографики, русские прописные и строчные буквы (коды с 128 по 255 рисунок 1.4).




Рисунок 1.4. Кодировка символов «ГОСТ»(коды с 12810 по 25510)

В дальнейшем основной кодировкой русских букв для первой опера- ционной системы ПК – MS DOS стала «Альтернативная кодировка ВЦ Академии Наук СССР» (вторая половина таблицы для кодов 128-255 при- ведена на рисунке 1.5). Содержит псевдографику (позволяющую в тексто- вом режиме рисовать рамки из одинарных и двойных линий). Существует несколько модификаций, отличающихся символами в последних 14 пози- циях. Зарегистрирована в IANA (InternetAssignedNumbersAuthorityор-

ганизация, отвечающая за административное управление в Internet) как IBM866 или CP866.




Рисунок 1.5. Таблица символов DOS Cyrillic (CP866, коды с 12810 по 25510)

С широким распространением операционной системы Microsoft Windows и появлением ее национальных локализаций для второй полови- ны таблицы ASCII было введено понятие «кодовая страница» (code page, CP). Полная таблица кодовых страниц Microsoft Windows приведена в Приложении 1. Несколько наиболее важных кодировок показаны в таблице 1.1.

Таблица 1.1. Некоторые национальные кодовые страницы (CP) операционной системы Microsoft Windows



Локализация


ANSI CP


Mac CP

DOS (OEM)

Primary CP

DOS (OEM)

Secondary CP

English (United States)

1252

10000

437

850

English (Britain, Canada и др.)

1252

10000

850

437

French (Standard)

1252

10000

850

437

German (Standard)

1252

10000

850

437

Russian

1251

10007

866

855

Кодировка русских букв в операционной системе Microsoft Windows

CP1251 – показана на рисунке 1.6.

Рисунок 1.6. Таблица символов CP1251 (коды с 12810 по 25510)

В операционной системе Linux для представления русских букв ис- пользуется кодировка КОИ-8R (рисунок 1.7), зарегистрированная в IANA как KOI8-R(http://koi8.pp.ru/).




Рисунок 1.7. Таблица символов KOI8-R (коды с 12810 по 25510)

Стандартизован и зарегистрирован также украинский клон КОИ-8 KOI8-U (рисунок 1.8), имеющий отличия от KOI8-R во второй строке сим- волов псевдографики.




Рисунок 1.8. Таблица символов KOI8-U (коды с 12810 по 25510)

Кириллица Macintosh (компьютеров фирмы Apple), она же CP10007, довольно близка к CP1251. Не зарегистрирована в IANA, но часто обозна- чается как x-mac-cyrillic (рисунок 1.9).




Рисунок 1.9. Macintosh Cyrillic, CP10007 (коды с 12810 по 25510)

В 1991 году в Калифорнии была создана некоммерческая организа- ция Unicode Consortium, в которую входят представители многих компь- ютерных фирм (Borland, IBM, Lotus, Microsoft, Novell, Sun, WordPerfect и др.), и которая занимается развитием и внедрением стандарта «The Unicode Standard».

Стандарт кодирования символов Unicode становится доминирую- щим в интернациональных программных многоязычных средах. Microsoft Windows NT и его потомки Windows 2000, 2003, XP, Vista используют Unicode, точнее UTF-16, как внутреннее представление текста. UNIX- подобные операционные системы типа Linux, BSD и Mac OS X приняли Unicode (UTF-8), как основное представления многоязычного текста.

Unicode резервируют 1114112 (220+216) символов кода, в настоящее время используются более 96000 символов. Первые 256 кодов символов точно соответствуют таковым ISO8859-1, наиболее популярной 8- разрядной таблицы символов «западного мира»; в результате, первые 128

символов также идентичны таблице ASCII. На рисунке 1.10 показан рус- ский блок Unicode (коды от 040016 до 04FF16).

Рисунок 1.10. Кириллица в Unicode

Кодовое пространство стандарта Unicode разделено на 17 планов («planes»), и каждый план имеет 65536 (= 216) точек кода. Первый план (план 0), Основной Многоязычный План (BMP – Basic Multilingual Plane) – тот, в котором описано большинство символов. BMP содержит символы почти для всех современных языков, и большое количество специальных символов.

Еще два плана используются для «графических» символов. План 1, Дополнительный Многоязычный План (SMP – Supplementary MultilingualPlane) главным образом используется для исторических символов, а также используется для музыкальных и математических символов. План 2, Supplementary Ideographic Plane (SIP), используется для приблизительно 40000 редких китайских иероглифов. План 15 и План 16 открыт для любо- го частного использования.

В то же время, подобно двоичным файлам, кодировка Unicode мало подходит для непосредственной передачи по сети – байты в тексте вполне могут приходиться на область управляющих символов, поэтому обычно применяются две другие основанные на Unicode кодировки переменной длины, обозначаемые как UTF (Unicode Transformation Format): 7- битная UTF-7 (последний пересмотр – RFC2152, 1997 г., зарегистрирована в IANA как UTF-7) и 8-битная UTF-8 (RFC2279, 1998 г., зарегистрирована в IANA как UTF-8). Обе они в каком-то смысле уже не являются языковы- ми кодировками, а являются программно распознаваемым кодом относи- тельно исходного Unicode, но зарегистрированы они именно как кодиров- ки, наравне с ISO 8859-5 или KOI8-R. Естественно, обе они не являются специфически «русскими», а пригодны для написания «сколько угодно»- язычного письма.

В UTF-8 все символы разделены на несколько групп по значению первых битов. Символы с кодами менее 12810 кодируются одним байтом, первый битом которого равен нулю, а последующие 7 бит в точности соот- ветствуют 128 символам 7-й таблицы ASCII (см. таблицу 1.2), следующие 1920 символов – двумя байтами (Greek, Cyrillic, Coptic, Armenian, Hebrew и Arabic символы). Последующие символы кодируются тремя и четырьмя байтами.

Таблица 1.2. Принцип кодирования символов в UTF-8


Диапазон кодов (hexadecimal)

UTF-8

(binary)


Notes

000000 - 00007F

0xxxxxxx

Первый бит 0, следующие 7 со- ответствуют таблице ASCII


000080 - 0007FF


110xxxxx 10xxxxxx

Первые 3 бита 110 – всего ис- пользуется 2 байта, второй байт начинается с 10


000800 - 00FFFF

1110xxxx 10xxxxxx 10xxxxxx

Первые 4 бита 1110 – всего ис- пользуется 3 байта, второй и третий байты начинаются с 10


010000 - 10FFFF


11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

Первые 5 бит 11110 – всего ис- пользуется 4 байта, второй, третий и четвертый байты начинаются с 10



Особняком стоит 7-битная, русская кодировка – транслитерация, или транскириллица, когда русские буквы передаются похожими по зву- чанию английскими primerno takim obrazom.


В конце 1997 г. Microsoft подвергла ревизии свои кодовые таблицы и включила в них новый символ евро- валюты "Евро" (рисунок 1.11), он помещен в позицию

128 (0x80) большинства таблиц и в позицию 136 (0x88) русской таблицы CP1251.




Рисунок 1.11. Символ "Евро"

Таким образом, в настоящее время при работе в Интернете Вы може- те встретить следующие кодировки для кириллицы:

  • CP1251 Cyrillic Windows операционной системы Microsoft Windows;

  • CP866 Cyrillic DOS – операционной системы MS DOS;

  • ISO 8859-5 Cyrillic ISO 8-ми битная таблица ASCII ;

  • KOI8-R операционной системы Linux;

  • CP10007 операционной системы компьютеров Macintosh;

  • UTF-8 универсальная Unicode кодировка переменной длины.



      1. 1   2   3   4   5   6   7   8   9   ...   31


написать администратору сайта