Кодовая страница 866 ( CCSID 866) [2] (CP 866, «DOS Cyrillic Russian») [3] — кодовая страница , используемая в DOS и OS/2 [4] в России для написания кириллицы . [5] [6] Он основан на «альтернативной кодовой странице» ( русский : Альтернативная кодировка ), разработанной в 1984 году в ИХНА АН СССР и опубликованной в 1986 году исследовательской группой Академии наук СССР. [7] Кодовая страница широко использовалась в эпоху DOS, поскольку она сохраняет все псевдографические символы кодовой страницы 437 (в отличие от « Основной кодовой страницы » или кодовой страницы 855 ) и поддерживает алфавитный порядок (хотя и несмежный) кириллицы. буквы (в отличие от КОИ8-Р ). Изначально эта кодировка была доступна только в русской версии MS-DOS 4.01 (1990 г.), но с MS-DOS 6.22 она стала доступна в любой языковой версии.
Стандарт кодирования WHATWG , определяющий кодировки символов, разрешенные в HTML5 , которые должны поддерживать совместимые браузеры, [8] включает кодовую страницу 866. [9] Это единственная указанная однобайтовая кодировка, которая не названа частью ISO 8859 , Mac . Кодировка, специфичная для ОС , специфичная для Microsoft Windows кодировка ( Windows-874 или Windows-125x ) или вариант KOI-8 . [9] Авторам новых страниц и разработчикам новых протоколов рекомендуется использовать вместо этого UTF-8 . [10]
Две очень похожие, но не идентичные кодировки стандартизированы в ГОСТ Р 34.303-92 [11] как КОИ-8 Н1 и КОИ-8 Н2 (не путать с исходной КОИ-8 ).
Каждый символ, отличный от ASCII, отображается с его эквивалентной кодовой точкой Unicode . Первая половина (кодовые точки 0–127) этой таблицы такая же, как и у кодовой страницы 437 ( см. ).
Существовало несколько вариантов кодовой страницы, но различия заключались в основном в последних 16 кодовых точках (240–255).
Исходная версия кодовой страницы Брябрина и др. (1986) [7] называется «Альтернативная кодовая страница» ( русский : Альтернативная кодировка ), чтобы отличить ее от «Основной кодовой страницы» ( русский : Основная кодировка ) тех же авторов. Он поддерживает только русский и болгарский языки . В основном это то же самое, что и кодовая страница 866, за исключением шестнадцатеричных кодов от F2 до шестнадцатеричных F7 ( кодовая страница 866 заменяется на украинские и белорусские буквы) и шестнадцатеричных кодов от F8 до шестнадцатеричных FB (где кодовая страница 866 вместо этого соответствует кодовой странице 437 ). Отличающаяся строка показана ниже.
Неофициальный вариант с кодовыми точками 240–255, идентичный кодовой странице 437 . Однако буква Ёё обычно ставится на 240 и 241. [18] Эта версия поддерживает только русский и болгарский языки . Отличающаяся строка показана ниже.
ГОСТ Р 34.303-92 определяет два варианта: КОИ-8 Н1 и КОИ-8 Н2. Их не следует путать с кодировкой КОИ-8 , которой они не придерживаются.
KOI-8 N2 является более расширенным вариантом и соответствует кодовой странице 866 и альтернативной кодовой странице, за исключением последней строки или палочки . [c] Для этой последней строки он поддерживает буквы для белорусского и украинского языков в дополнение к русским, но в макете, не связанном с кодовой страницей 866 или 1125. В частности, русский Ё / ё (который не менялся между альтернативной кодовой страницей и кодовой страницей). 866) также находится в другом месте. Последняя палка KOI-8 N2 показана ниже. [11]
Другой вариант, КОИ-8 N1, представляет собой подмножество КОИ-8 N2, в котором отсутствуют нерусские кириллические буквы и смешанные одно- и двухстрочные символы для рисования прямоугольников , оставляя их пустыми для дальнейшей интернационализации (сравните с кодовой страницей 850 ). Пораженные палочки показаны ниже. [11]
Кодовая страница KBL , неофициально известная как кодовая страница 771, [19] является самой ранней кодировкой символов DOS для литовского языка. [20] В основном он соответствует кодовой странице 866 и альтернативной кодовой странице, но заменяет последнюю строку и некоторые блоковые символы буквами литовского алфавита , которые иначе не присутствуют в ASCII. Русский Ё / ё не поддерживается, [20] аналогично КОИ-7 .
Также существует модифицированная версия, кодовая страница 773 , в которой кириллические буквы заменяются латышскими и эстонскими буквами. [20]
Литовский стандарт LST 1284:1993, известный как кодовая страница 1119 или неофициально как кодовая страница 772, [19] в основном соответствует «модифицированной» кодовой странице 866, за исключением добавления кавычек в последней строке и замены смешанного одинарного слова. -двойные символы с литовскими буквами (ср. кодовую страницу 850 ). В отличие от КБЛ, русская Ё / ё сохранена.
Он сопровождает LST 1283 ( кодовая страница 774/1118 ), который кодирует дополнительные литовские буквы в тех же местах, что и LST 1284, но вместо этого основан на кодовой странице 437 . Позже он был заменен LST 1590-1 ( Кодовая страница 775 ), [19] который кодирует эти литовские буквы в тех же местах, но не включает кириллические буквы, заменяя их латышскими и эстонскими буквами. [20]
Украинский стандарт RST 2018-91 обозначен IBM как кодовая страница 1125 (CCSID 1125), [25] сокращенно CP1125, а также известен как CP866U, CP866NAV или RUSCII. [26] Он соответствует исходной альтернативной кодовой странице для всех точек, за исключением шестнадцатеричных кодов от F2 до F9 включительно, которые заменены украинскими буквами. [27] Кодовая страница/CCSID 1131 [28] [29] соответствует кодовой странице 866 для всех точек, за исключением шестнадцатеричных F8 , шестнадцатеричных F9 и шестнадцатеричных FC до шестнадцатеричных FE включительно, которые заменяются отсутствующими украинскими и белорусскими буквами в процесс перемещения символа маркера (∙) из шестнадцатеричного F9 в шестнадцатеричный FE . [30] [31] Ниже показаны разные строки.
Также так называемая кодовая страница CP 866укр представляет собой модифицированную версию CP866 с заменой Ўў на Іі. В отличие от CP1125 сохраняет полную совместимость украинских букв с CP866, хотя Ґґ отсутствует. Она не входит в стандартные дистрибутивы Windows, но некоторые пользователи устанавливают самодельный патч [38] , позволяющий использовать эту кодировку для работы в программах командной строки (таких как FAR Manager ) с именами файлов, содержащими кириллицу Іі.
Кодовая страница IBM/CCSID 808 является вариантом кодовой страницы/CCSID 866; со знаком евро (€, U+20AC) в позиции FD hex , заменяющим универсальный знак валюты (¤). [39] [40] [41]
Кодовая страница IBM/CCSID 848 — это вариант кодовой страницы/CCSID 1125 со знаком евро в шестнадцатеричном месте FD , заменяющим ¤. [42] [43] [44]
Кодовая страница IBM/CCSID 849 — это вариант кодовой страницы/CCSID 1131 со знаком евро в шестнадцатеричном месте FB , заменяющим ¤. [45] [46] [47]
Неофициальная модификация, используемая в программном обеспечении, разработанном Майклом Ленером и Питером Р. Чехом. Он заменяет три математических символа с каймами и знаком сечения , которые обычно используются в русском языке. (Ленер и Чехия также создали ряд альтернативных наборов символов для других европейских языков, в том числе один на основе CWI-2 для венгерского языка , набор Каменицкого для чешского и словацкого языков , мазовецкий вариант для польского языка и, казалось бы, уникальную кодировку для Литовский . Измененная строка показана ниже.
Латышский вариант, поддерживаемый принтерами Star и FreeDOS, имеет кодовую страницу 3012 . Эта кодировка получила название «РусЛат». [48]
FreeDOS предоставляет дополнительные неофициальные расширения кодовой страницы 866 для различных неславянских языков: [49]
До того, как окончательная кодовая страница Microsoft для русской MS-DOS 4.01 была зарегистрирована в IBM Францем Рау из Microsoft как CP866 в январе 1990 года, ее черновые версии, разработанные Юрием Стариковым (Юрий Стариков) из Dialogue, внутри компании все еще назывались кодовой страницей 900. Хотя перед выпуском продукта документация была исправлена с учетом нового названия, в 1990 году в российской прессе были опубликованы эскизы более ранних черновых версий с кодовой страницей 900 и без украинских и белорусских букв, добавленных осенью 1989 года. [50] Кодовая страница 900 просочилась в дистрибутив российского информационного файла кодовой страницы LCD.CPI MS-DOS 5.0 . [51]
Пользовательские агенты должны поддерживать кодировки, определенные в стандарте кодирования WHATWG, включая, помимо прочего, […]