Кодова сторінка — Вікіпедія

Ко́дова сторі́нка (англ. code page) — таблиця, що зіставляє кожному значенню байта деякий символ (або його відсутність). Зазвичай код символу має розмір 8 біт, так що кодова сторінка може містити максимум 256 символів, з чого випливає різка недостатність всякої 8-бітної кодової сторінки для подання багатомовних текстів. До того ж частина символів використовується як керуюча, через що число друкованих символів рідко перевищує 223.

Історично термін code page був введений корпорацією IBM; змінні кодові сторінки використовувалися для підтримки різних мов (що мають алфавітні системи письма). Останнім часом є плутанина між терміном «кодова сторінка» і більш загальним поняттям набору символів (кодування).

Кодові сторінки сьогодні[ред. | ред. код]

В даний час в основному використовуються кодування двох типів: сумісні з ASCII і сумісні з EBCDIC, з переважанням перших. В ASCII-сумісних кодуваннях зафіксовано коди 95 друкованих символів та 33 керуючих («нижня» половина кодів, від 0 до 127), а решта 128 кодових позицій (від 128 до 255) використовуються для різних символів, що не входять в ASCII.

Для кодування текстів українською (російською) мовою (тобто букв кирилиці) найбільш широко застосовуються наступні кодові сторінки:

  • Windows-1251, вона ж Microsoft code page 1251 (CP1251) — в системах Windows;
  • Сімейство кодових сторінок KOI-8;
  • Альтернативне кодування, воно ж IBM code page 866 — в системах DOS, а також у текстових вікнах Microsoft Windows (див. нижче);
  • MacCyrillic — на комп'ютерах Macintosh.

Використання різних кодових сторінок створює багато незручностей як для користувачів, так і для програмістів. При спробі прочитати текстовий файл за допомогою кодової сторінки, несумісною з тією, в якій він був створений, виникають кракозябри. В останні роки отримав широке розповсюдження Unicode як альтернатива традиційним кодовим сторінкам.

У системі Microsoft Windows[ред. | ред. код]

У системах Microsoft Windows кодові сторінки є важливим компонентом локалізації, що задається в ключах реєстру HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\[1].

Історично (у системах Windows 3.x і Windows 9x) було два типи кодових сторінок. Кодові сторінки «ANSI»[2] (англ. ANSI code page, в реєстрі: ACP), також звані Windows[3] — рідні кодові сторінки Windows. Містять багато символів типографіки, але майже не містять псевдографіку по причині того, що призначені для використання в графічному оточенні. Згодом корпорація Microsoft визнала, що використання імені ANSI було викликано непорозумінням. До Кодування «ANSI» / Windows відносять, зокрема, Windows-1252 і вищезгадану Windows-1251. Microsoft також відносить до кодових сторінок кодові таблиці, деякі позиції яких вимагають другого (завершального) байта для формування символу, тобто допускають двобайтове уявлення деяких символів, хоча вони, щиро кажучи, є вже кодуваннями із змінною довжиною символу.

Кодування OEM (англ. OEM code page, в реєстрі: OEMCP) засновані на CP437 і містять VGA-сумісну псевдографіку. Вищезазначене альтернативне кодування відоме у Windows як CP866.

Починаючи з Windows NT з'явився третій клас кодових сторінок: кодування Macintosh (англ. Macintosh code page, в реєстрі: MACCP), сумісних з Mac OS.

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. [REG: CurrentControlSet, PART 1, Microsoft (англ.). Архів оригіналу за 10 Січня 2013. Процитовано 8 Квітня 2013.  REG: CurrentControlSet, PART 1, Microsoft (англ.)]
  2. Кодові сторінки в Visual C++, MSDN. Архів оригіналу за 22 Лютого 2014. Процитовано 8 Квітня 2013. 
  3. Code Pages, MSDN. Архів оригіналу за 22 Лютого 2014. Процитовано 8 Квітня 2013.