Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kodirovanie informacii.doc
Скачиваний:
19
Добавлен:
21.04.2019
Размер:
788.99 Кб
Скачать

§2.2. Российская особенность

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

Сегодня в России используются 5 таблиц кодировок символов, в каждой из которых первые 128 символов совпадают со стандартной кодировкой ASCII (8-битовые кодировки, «знающие» русский язык).

  1. КОИ8,

  2. СР1251,

  3. СР866,

  4. Мас,

  5. ISO

Сравнение кодировок.

Характеристика

KOI-8R

(KOI-8)

Win1251 (CP1251)

Семейство кодировок 8859

(ISO)

MAC

(MacCyrillic)

CP866

Сколько всего символов может закодировать?

28 = 256 символов

28 = 256 символов

28 = 256 символов

(для каждой кодировки в семействе)

28 = 256 символов

28 = 256 символов

Сколько бит (байт) отводится для одного символа?

8

8

8-битная кодовая страница из серии ISO-8859

8

8

Какие символы содержит?

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

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

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

стандарт ISO 8859-1 (так называемая Latin-1) стала стандартом для "расширенной" латиницы и содержит практически все символы западноевропейских языков. Так, многие шрифты для Windows соответствуют кодировке ISO 8859-1 начиная с позиции 160 до конца таблицы, а в диапазоне 128-159 содержат дополнительные символы (длинное тире или "торговая марка", например).

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

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

Нижняя часть таблицы кодировки (латиница) полностью соответствует кодировке ASCII.

Содержит те же символы, что и ISO-8859-5.

Но

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

«Знает» ли русские буквы?

да

да

да

да

да

Особенности, примечание

KOИ-8, Код Обмена Информацией,

Win1251 (CP1251, Code Page 1251, кодовая страница) – одна из наиболее распространенных в сети Интернет и персональных компьютерах (Windows). Все Windows приложения должны понимать эту кодировку без перевода.

не очень удобная кодировка, поскольку в ней отсутствуют многие нужные символы, такие как тире (—), кавычки-ёлочки («»), градус (°) и др. Нет также буквы Ґ, используемой иногда в украинской письменности.

Кириллическая кодировка этого семейства не получила широкого распространения

Кодировка MacCyrillic используется только на компьютерах «Макинтош»

CP866 (Code Page 866, кодовая страница) – MS DOS и OS/2. Её использует сеть ФИДО.

иначе называется "альтернативная" кодировка

Области преимущественного применения.

Обозначение

Области преимущественного применения

K

KOI-8R (KOI-8, ISO-IR-111; ГОСТ 19768-74)

UNIX,

Internet, WWW, электронная почта в Интернет (E-Mail), Newsgroups

D

CP866 (DOS-альтернативная, DOS Cyrillic (IBM 866))

MS-DOS, OS/2, FidoNet, Windows (OEM-кодировка)

W

CP1251 (RFC1489, Windows-1251, Win-1251)

Windows (Ansi-кодировка)

M

MacCyrillic (Macintosh Cyrillic, Apple Standard Cyrillic)

Mac OS (Apple Macintosh)

(Mac OS X использует также Unicode)

ISO-8859-5 (ISO Cyrillic (8859-5))

UNIX

§2.3. Unicode

В ранних версиях Windows для каждой кодовой страницы должен был иметься свой шрифт, так как в один шрифтовой файл – в одну кодовую страницу – нельзя было поместить больше 255 символов. Это имело определенные неудобства, и был придуман и утвержден новый стандарт таблицы символов – Unicode. Согласно этому стандарту, каждый символ кодировался не восемью, а шестнадцатью битами информации, что позволяло закодировать до 65536 символов. Эта кодировка также получила название двухбайтовой кодировки. Для совместимости со старыми стандартами первые 256 символов стандарта Unicode соответствовали стандартной кодовой таблице, а на остальных местах можно было разместить все необходимые символы всех языков. Соответственно, были созданы новые шрифты в стандарте Unicode. 

В Unicode-шрифте имеются несколько кодовых страниц сразу. Программа, работающая с таким шрифтом, использует символы нужной ей кодовой страницы. Для того, чтобы программы, не поддерживающие стандарт Unicode, могли работать с такими шрифтами, операционная система осуществляет так называемую «подстановку шрифтов», то есть «раскладывает» шрифт Unicode на отдельные кодовые страницы и выбирает из них ту страницу, которая соответствует установленной в системе. Параметры подстановки прописываются в системном реестре и в файле win.ini. Смысл находящихся в этом файле выражений – указание программам на то, где в шрифтовом файле искать символы, соответствующие нужной кодовой странице. Так, для шрифта Times New Roman эти символы (кириллица) начинаются с 204-го места, что и указано в win.ini. Теперь программа, неумеющая работать с двухбайтовой кодировкой, будет работать с Unicode-шрифтом Times New Roman, воспринимая его как обычный кириллический шрифт. При этом в восприятии такой программы шрифт Times New Roman окажется «разложенным» на набор шрифтов (Times New Roman Cyr, Times New Roman CE и др.), каждый из которых будет соответствовать определенной кодовой странице, несмотря на то, что все эти шрифты хранятся в одном файле.

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

  • либо установить новые драйвера к принтеру,

  • либо в системном реестре, в разделе "HKEY_CURRENT_USER\Software\Microsoft\Office\8.0\Word\<имя принтера>" создать новую строковую переменную "Flags" со значением "8192",

  • либо в системном реестре, в разделе "Font Substitution" для всех русских шрифтов, при печати которых выводятся квадратики, надо написать: Font,0=Font,204 и Font,204=Font,204. То же самое надо поместить и в win.ini.

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

Стандарт UNICODE 4.0 представляет собой новую систему кодирования символов, выводимых на экран монитора или на принтер, позволяющую закодировать 1 114 112 символов (в стандарте их принято называть code points). Большинство символов, используемых в основных языках мира, занимают 65 536 code points, образуя Basic Multilingual Plane (BMP) (Основной Многоязычный Уровень). Оставшихся (более миллиона) code points вполне достаточно для кодирования всех известных символов, включая малораспространенные языки и исторические знаки. Стандарт UNICODE поддерживается тремя формами, 32-битной (UTF-32), 16-битной (UTF-16) и 8-битной (UTF-8). Восьмибитная форма UTF-8 была разработана для удобной совместимости с ASCII-ориентироваными системами кодирования. Стандарт UNICODE совместим с Международным стандартом International Standard ISO/IEC 10646.

Наиболее просто устроена форма UTF-32. В ней каждый символ закодирован при помощи 32-битного блока. Благодаря этому каждый символ UTF-32 обладает однозначным соответствием между декодированным символом и блоком кода. Это форма имеет фиксированную длину знакоместа. Она покрывает все кодовое пространство UNICODE – от 0 до 10FFFF16. Это гарантирует полную совместимость с UTF-16 и UTF-8. Форма UTF-32 является наиболее предпочитаемой для большинства UNIX платформ.

Стандарт UNICODE содержит 96 382 символа, взятых их мировых шрифтов. Этих символов более чем достатонно для общения на всех известных языках мира, а также для написания классических (исторических) шрифтов многих языков. UNICODE всключает в себя шрифты европейских алфавитов, средне-азиатское письмо, направленное справа налево, шрифты Азии, и многие другие. Подмножество символов (code points) HUN включает 70 207 идеографических символов определяемых по национальным и промышленным стандартам Китая, Японии, Кореи, Тайвани, Вьетнама и Сингапура. Более того, UNICODE содержит знаки пунктуации, математические символы, технические символы, герметрические формы и графические метки (dingbats), фонетические знаки.

Кодовая таблица для кириллицы приведена на следующем рисунке (взято из Фрагмента спецификации UNICODE 4.0 (Unicode Standard, Version 4.0), размещенного на сайте Unicode Consortium.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]