Рассмотрим наиболее известные и важные виды кодировок, используемые в разных операционных системах. Особое внимание уделим, конечно, кириллическим кодировкам, а именно WIN1251, KOI7, KOI8R и др. Ранее, в разделе 7.1, мы познакомились со стандартными английскими кодировками типа ASCII и новейшими универсальными кодировками Unicode. Однако исторически появлению Unicode предшествовала целая серия кириллических кодировок, которые и сейчас еще активно и часто используются в операционных системах и Интернет.

Кодировка KOI-7 (KOИ-7, Код Обмена Информацией, 7-ми битный) позволяет кодировать 2 7 = 128 символов, из которых 32 буквы русского алфавита, 26 букв латинского алфавита, 10 цифр и 26 печатаемых символа, пробел, специальные символы и непечатаемые символы. Коды непечатаемых символов находятся в диапазоне 00-20 (с ними можно ознакомиться в разделе 7.1, в таблице ASCII).

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

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

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

"забой"

&nbsp&nbsp&nbspЧисло&nbsp&nbsp&nbsp&nbsp&nbsp&nbspСимвол&nbsp&nbsp&nbsp&nbsp&nbsp&nbspЧисло&nbsp&nbsp&nbsp&nbsp&nbsp&nbspСимвол&nbsp&nbsp&nbsp&nbsp&nbsp&nbspЧисло&nbsp&nbsp&nbsp&nbsp&nbsp&nbspСимвол&nbsp&nbsp&nbsp&nbsp&nbsp&nbspЧисло&nbsp&nbsp&nbsp&nbsp&nbsp&nbspСимвол&nbsp&nbsp&nbsp&nbsp&nbsp&nbspЧисло&nbsp&nbsp&nbsp&nbsp&nbsp&nbspСимвол&nbsp&nbsp&nbsp&nbsp&nbsp&nbspЧисло&nbsp&nbsp&nbsp&nbsp&nbsp&nbspСимвол&nbsp&nbsp&nbsp

пробел

KOI-8R

Кодировка KOI-8R (KOИ-8, Код Обмена Информацией, 8-ми битный) позволяет кодировать 2 8 = 256 символов, в число которых входят 31 прописная и 32 строчных букв русского алфавита, 26 прописных и 26 строчных букв латинского алфавита, 10 цифр, 32 служебных знака и специальные символы, предназначенные для управления устройствами и передачи данных. Коды в диапазоне 21-5F соответствуют одинаковым символам как для KOI-7, так и для KOI-8R.

"забой"

"забой"

КодСимволКодСимволКодСимволКодСимволКодСимволКодСимволКодСимволКодСимволКодСимволКодСимвол

пробел

Win1251 (CP1251)

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

CP866

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

СЕМЕЙСТВО КОДИРОВОК 8859

Восьмибитное семейство кодировок 8859, созданное International Standorts Organization, ISO, для наведения порядка в восьмибитных кодировках, расширило таблицу ASCII для латинских букв с диакритикой и лигатур (кодировка ISO 8859-1), славянских языков с латинским алфавитом, например, чешский, польский, венгерский, (ISO 8859-2), турецкого, мальтийского, эсперанто, галисийского языков (ISO 8859-3), кириллицы (ISO 8859-5), арабского (ISO 8859-6), греческого (ISO 8859-7), иврита (ISO 8859-8) и других языков. Кириллическая кодировка этого семейства не получила широкого распространения, зато стандарт ISO 8859-1 (так называемая Latin-1) стала стандартом для "расширенной" латиницы и содержит практически все символы западноевропейских языков. Так, многие шрифты для Windows соответствуют кодировке ISO 8859-1 начиная с позиции 160 до конца таблицы, а в диапазоне 128-159 содержат дополнительные символы (длинное тире или "торговая марка", например). Именно в этом семействе появилось понятие "кодовая страница" (набор из 256 символов для каждого определённого языка или группы языков). Крупным недостатком такого подхода является невозможность смешивания языков в одном документе и отсутствие представления для китайского и японского языков.

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

  1. Кодировка Windows-1251

Кодировка KOI8-R

Кодировка ISO 8859-5

ISO 8859-5

CP866

Альтернативная кодировка

«Альтернативная кодировка» — основанная на CP437 кодовая страница, где все специфические европейские символы во второй половине заменены на кириллицу, оставляя псевдографические символы нетронутыми. Следовательно, это не портит вид программ, использующих для работы текстовые окна, а также обеспечивает использование в них символов кириллицы.

Исторически существовало много вариантов альтернативной кодировки, но все различия касаются только области 0xF0 — 0xFF (240—255). Окончательным стандартом стала кодировка IBM CP866, поддержка которой была добавлена в MS-DOS версии 6.22 (до этого использовались всевозможные «самопальные» русификаторы. Альтернативная кодировка всё ещё жива и чрезвычайно популярна в среде DOS и OS/2. Кроме того, в этой кодировке записываются имена в файловой системе FAT. CP866 до сих пор используется в консоли русифицированных систем семейства Windows NT.

.0.1.2.3.4.5.6.7.8.9.A.B.C.D.E.F
8.А 410Б 411В 412Г 413Д 414Е 415Ж 416З 417И 418Й 419К 41AЛ 41BМ 41CН 41DО 41EП 41F
9.Р 420С 421Т 422У 423Ф 424Х 425Ц 426Ч 427Ш 428Щ 429Ъ 42AЫ 42BЬ 42CЭ 42DЮ 42EЯ 42F
A.а 430б 431в 432г 433д 434е 435ж 436з 437и 438й 439к 43Aл 43Bм 43Cн 43Dо 43Eп 43F
B.░ 2591▒ 2592▓ 2593│ 2502┤ 2524╡ 2561╢ 2562╖ 2556╕ 2555╣ 2563║ 2551╗ 2557╝ 255D╜ 255C╛ 255B┐ 2510
C.└ 2514┴ 2534┬ 252C├ 251C─ 2500┼ 253C╞ 255E╟ 255F╚ 255A╔ 2554╩ 2569╦ 2566╠ 2560═ 2550╬ 256C╧ 2567
D.╨ 2568╤ 2564╥ 2565╙ 2559╘ 2558╒ 2552╓ 2553╫ 256B╪ 256A┘ 2518┌ 250C█ 2588▄ 2584▌ 258C▐ 2590▀ 2580
E.р 440с 441т 442у 443ф 444х 445ц 446ч 447ш 448щ 449ъ 44Aы 44Bь 44Cэ 44Dю 44Eя 44F
F.Ё 401ё 451Є 404є 454Ї 407ї 457Ў 40Eў 45E° B0∙ 2219· B7√ 221A№ 2116¤ A4■ 25A0A0

SO 8859-5 — 8-битная кодировка из серии ISO-8859 для записи кириллицы. В России почти не употребляется. В целом ISO 8859-5 — не очень удобная кодировка, поскольку в ней отсутствуют многие нужные символы, такие как тире (—), кавычки-ёлочки («»), градус (°) и др.

.0.1.2.3.4.5.6.7.8.9.A.B.C.D.E.F
8.808182838485868788898A8B8C8D8E8F
9.909192939495969798999A9B9C9D9E9F
A.A0Ё 401Ђ 402Ѓ 403Є 404Ѕ 405І 406Ї 407Ј 408Љ 409Њ 40AЋ 40BЌ 40C­ ADЎ 40EЏ 40F
B.А 410Б 411В 412Г 413Д 414Е 415Ж 416З 417И 418Й 419К 41AЛ 41BМ 41CН 41DО 41EП 41F
C.Р 420С 421Т 422У 423Ф 424Х 425Ц 426Ч 427Ш 428Щ 429Ъ 42AЫ 42BЬ 42CЭ 42DЮ 42EЯ 42F
D.а 430б 431в 432г 433д 434е 435ж 436з 437и 438й 439к 43Aл 43Bм 43Cн 43Dо 43Eп 43F
E.р 440с 441т 442у 443ф 444х 445ц 446ч 447ш 448щ 449ъ 44Aы 44Bь 44Cэ 44Dю 44Eя 44F
F.№ 2116ё 451ђ 452ѓ 453є 454ѕ 455і 456ї 457ј 458љ 459њ 45Aћ 45Bќ 45C§ A7ў 45Eџ 45F

КОИ-8 (код обмена информацией, 8 битов), KOI8 — восьмибитовый стандарт кодирования символов в информатике. Разработан для кодирования букв кириллических алфавитов. Существует также семибитовая версия кодировки — КОИ-7. КОИ-7 и КОИ-8 описаны в ГОСТ 19768-74 (сейчас недействителен).

Разработчики КОИ-8 поместили символы русского алфавита в верхней части расширенной таблицы ASCII таким образом, что позиции кириллических символов соответствуют их фонетическим аналогам в английском алфавите в нижней части таблицы. Это означает, что если в тексте, написанном в КОИ-8, убирать восьмой бит каждого символа, то получается «читабельный» текст, хотя он и написан латинскими символами. Например, слова «Русский Текст» превратились бы в «rUSSKIJ tEKST». Как побочное следствие, символы кириллицы оказались расположены не в алфавитном порядке.

.0.1.2.3.4.5.6.7.8.9.A.B.C.D.E.F
8.─ 2500│ 2502┌ 250C┐ 2510└ 2514┘ 2518├ 251C┤ 2524┬ 252C┴ 2534┼ 253C▀ 2580▄ 2584█ 2588▌ 258C▐ 2590
9.░ 2591▒ 2592▓ 2593⌠ 2320■ 25A0∙ 2219√ 221A≈ 2248≤ 2264≥ 2265A0⌡ 2321° B0² B2· B7÷ F7
A.═ 2550║ 2551╒ 2552ё 451╓ 2553╔ 2554╕ 2555╖ 2556╗ 2557╘ 2558╙ 2559╚ 255A╛ 255B╜ 255C╝ 255D╞ 255E
B.╟ 255F╠ 2560╡ 2561Ё 401╢ 2562╣ 2563╤ 2564╥ 2565╦ 2566╧ 2567╨ 2568╩ 2569╪ 256A╫ 256B╬ 256C© A9
C.ю 44Eа 430б 431ц 446д 434е 435ф 444г 433х 445и 438й 439к 43Aл 43Bм 43Cн 43Dо 43E
D.п 43Fя 44Fр 440с 441т 442у 443ж 436в 432ь 44Cы 44Bз 437ш 448э 44Dщ 449ч 447ъ 44A
E.Ю 42EА 410Б 411Ц 426Д 414Е 415Ф 424Г 413Х 425И 418Й 419К 41AЛ 41BМ 41CН 41DО 41E
F.П 41FЯ 42FР 420С 421Т 422У 423Ж 416В 412Ь 42CЫ 42BЗ 417Ш 428Э 42DЩ 429Ч 427Ъ 42A

Кодировка KOI8-U (украинская)

|следующая лекция ==>
Недостатки национальных кодировок|Кодировка Windows-1251

Дата добавления: 2014-01-05 ; Просмотров: 1385 ; Нарушение авторских прав? ;

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

KOI8-R

KOI8-R ( RFC 1489 ) представляет собой 8-битные кодировки символов , предназначенные для покрытия русского , который использует кириллический алфавит. Случается также , чтобы покрыть болгарскими , но не используются для этой цели , так как CP1251 был принят. Производное кодирование KOI8-U , который добавляет украинские символы. Оригинальный KOI8 кодирование было разработано советскими властями в 1974 году KOI8 остается гораздо чаще используется , чем ISO 8859-5 , который никогда не прижился. Другая распространенная кириллица кодировка символов для Windows-1251 . Использование этих старых кодовых страниц заменяется с Unicode как более общий способ представления кириллицы вместе с другими языками.

В Microsoft Windows , KOI8-R присваивается код номер страницы 20866. В IBM , KOI8-R присваивается код страницы 878.

KOI8 означает Kod Obmena Informatsiey, 8 бит ( русском : Код ОБМЕН Информация, 8 БИТ ) , что означает "код для обмена информации, 8 бит".

Наборы символов KOI8 обладают свойством , что русские буквы кириллицы находятся в псевдо-римской порядка , а не в обычном кириллицы алфавитном порядке в соответствии с ИСО 8859-5 или Unicode. Хотя это может показаться неестественным, он обладает полезным свойством , что если восьмой бит раздел, текст частично читаемый в ASCII и может преобразовать в синтаксический правильном коем-7 . Например, «Русский Текст» в KOI8-R становится Russkij TEKST ( «Русский текст») , если восьмой бит раздел; пытаясь интерпретировать строку ASCII Russkij TEKST в кои-7 «дающий» РУССКИЙ текст. KOI8 был основан на русской азбуки Морзе , который был создан от латинского азбуки Морзе на основе звуковых сходств, и который имеет такую же связь с кодами Latin Морса для AZ , как KOI8 имеет с ASCII .

содержание

Набор символов

В следующей таблице показано кодирование KOI8-R. Каждый персонаж показан с его эквивалентной Unicode код точки.

Язык (ы)Русский , болгарский
классификация8-битный КОИ , расширенный ASCII —
РасширяетКОИ8-Б
на основанииКОИ-8
Другое связанное кодирование (ы)KOI8-U , KOI8-RU