Кодовая страница

Поделись знанием:
Перейти к: навигация, поиск

Кодовая страница (англ. code page) — таблица, сопоставляющая каждому значению байта некоторый символ (или его отсутствие). Обычно код символа имеет размер 8 бит, так что кодовая страница может содержать максимум 256 символов, из чего вытекает резкая недостаточность всякой 8-битной кодовой страницы для представления многоязычных текстов. К тому же часть символов используется как управляющие, из-за чего число печатных символов редко превышает 223[1].

Исторически термин code page был введён корпорацией IBM; сменные кодовые страницы использовались для поддержки различных языков (имеющих алфавитные системы письма). В последнее время имеется путаница между термином «кодовая страница» и более общим понятием набора символов (кодировки).



Кодовые страницы сегодня

В настоящее время в основном используются кодировки двух типов: совместимые с ASCII и совместимые с EBCDIC[2], с подавляющим преобладанием первых. В ASCII-совместимых кодировках фиксированы коды 95 печатных символов и 33 управляющих, а остальные 128 кодовых позиций используются для различных символов, не входящих в ASCII.

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

Использование различных кодовых страниц создаёт много неудобств как для пользователей, так и для программистов. При попытке прочесть текстовый файл при помощи кодовой страницы, несовместимой с той в которой он был создан, возникают кракозябры[en]. В последние годы получил широкое распространение Unicode как альтернатива традиционным кодовым страницам.

В системе Microsoft Windows

В системах Microsoft Windows кодовые страницы являются важным компонентом локализации, задаваемым в ключах реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\[3].

Исторически (в системах Windows 3.x и Windows 9x) имелось два типа кодовых страниц. Кодовые страницы «ANSI»[4] (англ. ANSI code page, в реестре: ACP), также называемые Windows[5] — родные кодовые страницы Windows. Содержат много символов типографики, но почти не содержат псевдографику по причине того, что предназначены для использования в графическом окружении. Впоследствии корпорация Microsoft признала, что использование имени ANSI было вызвано недоразумением.[6] К кодировкам «ANSI»/Windows относят, в частности, Windows-1252 и вышеупомянутую Windows-1251. Microsoft также относит к кодовым страницам кодовые таблицы, некоторые позиции которых требуют второго (завершающего) байта для формирования символа, то есть допускающие двухбайтовое представление некоторых символов[7], хотя они, строго говоря, являются уже кодировками с переменной длиной символа.

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

Начиная с Windows NT появился третий класс кодовых страниц: кодировки Macintosh (англ. Macintosh code page, в реестре: MACCP), совместимых с MacOS.

Напишите отзыв о статье "Кодовая страница"

Примечания

  1. Одним из немногих исключений является кодировка VISCII для вьетнамской латиницы, совместимая с ASCII за вычетом шести кодов в зоне управляющих символов, заменённых на буквы, см. RFC 1456. Таким образом, она содержит 229 печатных символов.
  2. Кодировки на базе EBCDIC (например, ДКОИ-8) используются только на некоторых мэйнфреймах.
  3. [support.microsoft.com/kb/102987 REG: CurrentControlSet, PART 1], Microsoft (англ.)
  4. [msdn.microsoft.com/ru-ru/library/2x8et5ee.aspx Кодовые страницы в Visual C++], MSDN
  5. [msdn.microsoft.com/ru-ru/goglobal/bb964653.aspx Code Pages], MSDN
  6. [msdn.microsoft.com/ru-ru/goglobal/bb964658.aspx#a MSDN: Glossary of Terms]
  7. [msdn.microsoft.com/ru-ru/goglobal/bb964654.aspx Windows code pages], MSDN
Кодировки символов
Основы алфавиттекст (файлданные) • набор символовконверсия
Исторические кодировки Докомп.: семафорная (Макарова)МорзеБодоМТК-2
Комп.: 6-битнаяУППRADIX-50EBCDIC (ДКОИ-8) • КОИ-7ISO 646
современное
8-битное
представление
символы ASCII (управляющиепечатные) • не-ASCII (псевдографика)
8-битные код.стр. Кириллица: КОИ-8Основная кодировкаMacCyrillic
ISO 8859 1 (лат.)2345 (кир.)6789101112131415 (€)16
Windows 12501251 (кир.)1252125312541255125612571258WGL4
IBM & DOS 437850852855866 «альт.»МИКНИИ ЭВМ
Многобайтные Традиционные DBCS (GB2312) • HTML
Unicode UTF-32UTF-16UTF-8список символов (кириллица)
Связанные темы интерфейс пользователяраскладка клавиатурылокальперевод строкишрифттранслитнестандартные шрифты
Утилиты iconvrecode

Отрывок, характеризующий Кодовая страница

– Ведь получил же в прошлом году NN табакерку с портретом, – говорил l'homme a l'esprit profond, [человек глубокого ума,] – почему же SS не может получить той же награды?
– Je vous demande pardon, une tabatiere avec le portrait de l'Empereur est une recompense, mais point une distinction, – сказал дипломат, un cadeau plutot. [Извините, табакерка с портретом Императора есть награда, а не отличие; скорее подарок.]
– Il y eu plutot des antecedents, je vous citerai Schwarzenberg. [Были примеры – Шварценберг.]
– C'est impossible, [Это невозможно,] – возразил другой.
– Пари. Le grand cordon, c'est different… [Лента – это другое дело…]
Когда все поднялись, чтоб уезжать, Элен, очень мало говорившая весь вечер, опять обратилась к Борису с просьбой и ласковым, значительным приказанием, чтобы он был у нее во вторник.
– Мне это очень нужно, – сказала она с улыбкой, оглядываясь на Анну Павловну, и Анна Павловна той грустной улыбкой, которая сопровождала ее слова при речи о своей высокой покровительнице, подтвердила желание Элен. Казалось, что в этот вечер из каких то слов, сказанных Борисом о прусском войске, Элен вдруг открыла необходимость видеть его. Она как будто обещала ему, что, когда он приедет во вторник, она объяснит ему эту необходимость.
Приехав во вторник вечером в великолепный салон Элен, Борис не получил ясного объяснения, для чего было ему необходимо приехать. Были другие гости, графиня мало говорила с ним, и только прощаясь, когда он целовал ее руку, она с странным отсутствием улыбки, неожиданно, шопотом, сказала ему: Venez demain diner… le soir. Il faut que vous veniez… Venez. [Приезжайте завтра обедать… вечером. Надо, чтоб вы приехали… Приезжайте.]
В этот свой приезд в Петербург Борис сделался близким человеком в доме графини Безуховой.


Война разгоралась, и театр ее приближался к русским границам. Всюду слышались проклятия врагу рода человеческого Бонапартию; в деревнях собирались ратники и рекруты, и с театра войны приходили разноречивые известия, как всегда ложные и потому различно перетолковываемые.
Жизнь старого князя Болконского, князя Андрея и княжны Марьи во многом изменилась с 1805 года.
В 1806 году старый князь был определен одним из восьми главнокомандующих по ополчению, назначенных тогда по всей России. Старый князь, несмотря на свою старческую слабость, особенно сделавшуюся заметной в тот период времени, когда он считал своего сына убитым, не счел себя вправе отказаться от должности, в которую был определен самим государем, и эта вновь открывшаяся ему деятельность возбудила и укрепила его. Он постоянно бывал в разъездах по трем вверенным ему губерниям; был до педантизма исполнителен в своих обязанностях, строг до жестокости с своими подчиненными, и сам доходил до малейших подробностей дела. Княжна Марья перестала уже брать у своего отца математические уроки, и только по утрам, сопутствуемая кормилицей, с маленьким князем Николаем (как звал его дед) входила в кабинет отца, когда он был дома. Грудной князь Николай жил с кормилицей и няней Савишной на половине покойной княгини, и княжна Марья большую часть дня проводила в детской, заменяя, как умела, мать маленькому племяннику. M lle Bourienne тоже, как казалось, страстно любила мальчика, и княжна Марья, часто лишая себя, уступала своей подруге наслаждение нянчить маленького ангела (как называла она племянника) и играть с ним.
У алтаря лысогорской церкви была часовня над могилой маленькой княгини, и в часовне был поставлен привезенный из Италии мраморный памятник, изображавший ангела, расправившего крылья и готовящегося подняться на небо. У ангела была немного приподнята верхняя губа, как будто он сбирался улыбнуться, и однажды князь Андрей и княжна Марья, выходя из часовни, признались друг другу, что странно, лицо этого ангела напоминало им лицо покойницы. Но что было еще страннее и чего князь Андрей не сказал сестре, было то, что в выражении, которое дал случайно художник лицу ангела, князь Андрей читал те же слова кроткой укоризны, которые он прочел тогда на лице своей мертвой жены: «Ах, зачем вы это со мной сделали?…»