Рассмотрим наиболее известные и важные виды кодировок, используемые в разных операционных системах. Особое внимание уделим, конечно, кириллическим кодировкам, а именно 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), чтобы сумма единиц, содержащихся в коде данного символа, было четным.
   Число    |    Символ    |    Число    |    Символ    |    Число    |    Символ    |    Число    |    Символ    |    Число    |    Символ    |    Число    |    Символ    |
---|---|---|---|---|---|---|---|---|---|---|---|
пробел |
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 символов для каждого определённого языка или группы языков). Крупным недостатком такого подхода является невозможность смешивания языков в одном документе и отсутствие представления для китайского и японского языков.
Читайте также:
- Кодировка 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 | ■ 25A0 | A0 |
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. | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 8A | 8B | 8C | 8D | 8E | 8F |
9. | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 9A | 9B | 9C | 9D | 9E | 9F |
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 | ≥ 2265 | A0 | ⌡ 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 ; Нарушение авторских прав? ;
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
Язык (ы) | Русский , болгарский |
---|---|
классификация | 8-битный КОИ , расширенный ASCII — |
Расширяет | КОИ8-Б |
на основании | КОИ-8 |
Другое связанное кодирование (ы) | KOI8-U , KOI8-RU |