
Кодування Windows-1251.
Кодування символів російської мови, відома як кодування Windows-1251, було введене “ззовні” - компанією Microsoft, але з огляду на широке поширення операційних систем та інших продуктів цієї компанії в Росії, вона глибоко закріпилася і знайшла широке поширення.
Windows-1251 (також вживаються назви Win1251, CP1251) — кодування, що є стандартним 8-бітовим кодуванням для всіх локалізованих українських і російських версій Microsoft Windows. Користується досить великою популярністю. Була створена на базі кодувань, що використалися в ранніх «самопальних» русифікаторах Windows в 1990—1991 рр. спільно представниками «Параграфа», «Діалогу» і російського відділення Microsoft. Початковий варіант кодування помітно відрізнявся від сучасного, преведеного нижче в таблиці (зокрема, там було значне число «білих плям»).
Windows-1251 вигідно відрізняється від інших кириличних кодувань наявністю практично всіх символів, що використовуються в слов'янській кириличній типографіці для звичайного тексту (відсутній тільки значок наголосу); вона містить всі символи для російської, української, білоруської, сербської і болгарської мов.
Рис.2 Таблиця Windows-1251
Має три недоліки:
мала (рядкова) буква «я» має код 0xFF (255 в 10-чній системі). Вона є «винуватицею» ряду несподіваних проблем в програмах без підтримки чистого 8-го біту.
відсутні символи псевдографіки.
при сортуванні в алфавітному порядку літери не йдуть підряд, оскільки між літерами ўЎіІєЄЇґҐёЁ і основним блоком літер йдуть спецсимволи.
Кодування коі-8.
Інше розповсюджене кодування зветься КОИ-8 (код обміну інформацією, восьмирозрядний ) – її походження відноситься до часів дії Ради Економічної Взаємодопомоги держав Східної Європи. Сьогодні кодування КОИ–8 має широке поширення в комп'ютерних мережах на території Росії та у російському секторі Інтернету.
КОІ-8 (код обміну інформацією, 8 бітів), рос. КОИ-8 – восьмибітова ASCII-сумісна кодова таблиця, розроблена для кодування букв кирилічних алфавітів.
Існує також семибітова версія кодування, не повністю сумісна з ASCII – КОІ-7. КОІ-7 і КОІ-8 описані в ГОСТ 19768-74 (зараз недійсний).
Рис.3 Таблиця КОІ8-Р
Рис.3 Таблиця КОІ8-У
Існує декілька варіантів кодування КОІ-8 для різних кирилічних алфавітів. Російський алфавіт описується в кодуванні KOI8-R, український – в KOI8-U. KOI8-R став фактично стандартом для російської кирилиці в юнікс-подобних операційних системах і електронній пошті.
В деяких країнах були створені модифікації КОІ-8 для національних варіантів латиниці. Базова ідея була та ж сама – при тому, що «зрізає» восьмого біта текст мав лишатися більш менш зрозумілим. Наприклад, в чеському варіанті КОІ-8 букви Čč повинні перетворюватися на cC, Žž – в zZ тощо. В даний час ці кодування не використовуються.
Приклад 1. Представте у формі шістнадцятькового коду слово «ЭОМ» у всіх трьох кодуваннях. Скористайтеся таблицями CP866, КОИ8-Р, CP1251 для перекладу чисел з десяткової в шістнадцятькову систему числення.
Послідовності десяткових кодів слова «ЭОМ» у різних кодуваннях становимо на основі таблиць кодування:
КОИ8-Р: 252 247 237
CP1251: 221 194 204
CP866: 57 130 140
Переводимо послідовності кодів з десяткової системи в шістнадцятькову:
КОИ8-Р: FC F7 ED
CP1251: DD C2 CC
CP866: 9D 82 8C