Кодовая страница 850 ( CCSID 850) (также известная как CP 850, IBM 00850, [2] OEM 850, [3] DOS Latin 1 [4] ) — кодовая страница , используемая в операционных системах DOS [a] в Западной Европе. [5] В зависимости от настроек страны и конфигурации системы кодовая страница 850 является основной кодовой страницей и кодовой страницей OEM по умолчанию во многих странах, включая различные англоязычные регионы (например, в Великобритании, Ирландии и Канаде), в то время как в других англоязычных регионах (например, в США) по умолчанию используется аппаратная кодовая страница 437 . [6]
Кодовая страница 850 отличается от кодовой страницы 437 тем, что многие символы-схемы , греческие буквы и различные символы были заменены дополнительными латинскими буквами с диакритическими знаками , что значительно улучшило поддержку западноевропейских языков (включены все символы из ISO 8859-1 ). В то же время изменения часто вызывали сбои в отображении программ, которые использовали символы-схемы для отображения поверхности, похожей на GUI, в текстовом режиме.
После эпохи DOS последующие операционные системы в значительной степени заменили кодовую страницу 850 на Windows-1252 , [b] позже UCS-2 и UTF-16 , [c] и, наконец, UTF-8 . Однако устаревшие приложения, особенно программы командной строки , могут по-прежнему зависеть от поддержки старых кодовых страниц.
Каждый не-ASCII символ отображается с его эквивалентной кодовой точкой Unicode . Различия с кодовой страницей 437 ограничены второй половиной таблицы, первая половина та же самая.
В 1998 году на основе этой кодовой страницы была получена кодовая страница 858 ( CCSID 858) [11] (также известная как CP 858, IBM 00858, OEM 858 [3] ) путем изменения кодовой точки 213 (D5 hex ) с символа i без точки ⟨ı⟩ на знак евро ⟨€⟩ U+20AC . [12] [13] [14] В отличие от большинства кодовых страниц, измененных для поддержки знака евро, общий знак валюты в шестнадцатеричном формате CF не был выбран в качестве символа для замены (сравните ISO-8859-15 (из ISO-8859-1 ), кодовые страницы 808 (из 866), 848 (из 1125), 849 (из 1131) и 872 (из 855), ISO-IR-205 (из ISO-8859-4 ), ISO-IR-206 (из ISO-8859-13 ) и изменения в MacRoman и MacCyrillic ).
Вместо добавления поддержки новой кодовой страницы 858, PC DOS 2000 от IBM , также выпущенный в 1998 году, изменил определение существующей кодовой страницы 850 на то, что IBM назвала модифицированной кодовой страницей 850, включив знак евро в кодовой точке 213. [15] [16] [17] [18] [19] Причиной этого могли быть ограничения в MS-DOS / PC DOS , которые ограничивали файлы .CPI размером 64 КБ или примерно шестью кодовыми страницами максимум. Добавление поддержки кодовой страницы 858 могло означать одновременное исключение другой (например, кодовой страницы 850), что могло быть нецелесообразным решением в то время, учитывая, что некоторые приложения были жестко запрограммированы на использование кодовой страницы 850. Более поздние продукты IBM/MS реализовали кодовую страницу 858 под своим собственным идентификатором.
Кодовая страница 1108 (совместимость с базой DITROFF) — это расширение этой кодовой страницы, которое изменяет некоторые кодовые точки в диапазоне 0–32 по сравнению с их определениями в кодовой странице 437. [ 20] DITROFF (устройствонезависимый troff) — это промежуточный формат стандартного форматировщика текста Unix Troff .
Кодовая страница 1109 (совместимость со специальными символами DITROFF) содержит символы, отсутствующие в кодовой странице 1108. [21]
Кодовая страница 1044 ( CCSID 1044) — это кодовая страница, используемая в DOS для использования в транспортных этикетках. Это подмножество кодовой страницы 850.
Каждый символ отображается с эквивалентной ему кодовой точкой Unicode . [22]
Кодовая страница 1034 ( CCSID 1034) — это кодовая страница , используемая в DOS для использования в транспортных этикетках. Это второй набор, используемый после кодовой страницы 1044. [23] Это кодовая страница с наименьшим количеством символов.
Каждый символ отображается с эквивалентной ему кодовой точкой Unicode . [24]
Кодовая страница 906 ( CCSID 906) — кодовая страница, используемая IBM 3812, как и кодовая страница 907. Это модификация кодовой страницы 850. [25]
Каждый символ отображается с эквивалентной ему кодовой точкой Unicode . [26]
Новый официальный идентификатор для многоязычной «кодовой страницы 850 со знаком EURO» — 858, а не 850. IBM перейдет на использование 858 вместо своего варианта 850 в будущих выпусках своих продуктов. […] Я могу только догадываться, почему они не добавили 858 в свои
файлы EGAx.CPI, COUNTRY.SYS и
KEYBOARD.SYS в
PC DOS 2000.
Многие сторонние приложения предназначены для работы с 850 и не знали о 858 на момент выпуска PC DOS 2000, поэтому это проще для всех, но, к сожалению, это несовместимо. […] Как объяснялось выше, COUNTRY.SYS и KEYBOARD.SYS содержат только две записи кодовой страницы для заданной страны в западных выпусках DOS. (В выпусках на арабском и иврите может быть до 8 кодовых страниц для одной страны, теоретически нет предела ниже диапазона разрешенных кодовых страниц 1..65534). […] Проблема в том, что удаление поддержки 850 могло бы вызвать проблемы совместимости с приложениями, которые жестко настроены на использование 850. Добавление 858 в качестве третьего варианта ко всем файлам значительно увеличило бы размеры файлов и таблиц. Анализатор файлов COUNTRY.SYS в MS-DOS/PC DOS
IO.SYS
/
IBMBIO.COM
выделяет 6 Кб (для DOS 6) блокнота для загрузки всей информации. Это позволяет принять максимум 438 записей в файле COUNTRY.SYS, в противном случае вы получите сообщение "COUNTRY.SYS too large.". У анализатора NLSFUNC такого ограничения нет, и анализаторы файлов в DR-DOS (ядро и NLSFUNC) также не знают о таком ограничении. Более старые выпуски MS-DOS/PC DOS даже имели буфер размером 2 Кб для максимум 146 записей.
[…] можно также без проблем создавать пользовательские файлы .CPI в традиционном стиле FONT, но в таком файле можно хранить только до […] шести кодовых страниц, если он должен использоваться MS-DOS/PC DOS (некоторые OEM-выпуски и NT могут обрабатывать файлы размером более 64 Кб, но MS-DOS/PC DOS не могут).(Примечание. Основано на сообщении fd-dev [1].)