Термин «кодовая страница» возник из мэйнфреймов IBM на базе EBCDIC [1] , но Microsoft , SAP , [2] и Oracle Corporation [3] входят в число поставщиков, которые используют этот термин. Большинство поставщиков идентифицируют свои собственные наборы символов по имени. В случае, когда существует множество наборов символов (как в IBM), идентификация наборов символов по числу является удобным способом их различения. Первоначально номера кодовых страниц относились к номерам страниц в руководстве по стандартному набору символов IBM, [4] [5] [6] — условие, которое не соблюдалось в течение длительного времени. Поставщики, использующие систему кодовых страниц, присваивают кодировке символов свой собственный номер кодовой страницы, даже если она более известна под другим именем; например, UTF-8 присвоены номера страниц 1208 в IBM, 65001 в Microsoft и 4110 в SAP.
Hewlett-Packard использует аналогичную концепцию в своей операционной системе HP-UX и протоколе языка команд принтера [7] (PCL) для принтеров (как для принтеров HP, так и для других). Терминология, однако, другая: то, что другие называют набором символов , HP называет набором символов , а то, что IBM или Microsoft называют кодовой страницей , HP называет кодом набора символов . HP разработала серию наборов символов, [8] [9], каждый из которых имеет соответствующий код набора символов, для кодирования как своих собственных наборов символов, так и наборов символов других поставщиков.
Множество наборов символов заставляет многих поставщиков рекомендовать Unicode .
Система нумерации кодовых страниц
IBM представила концепцию систематического присвоения небольшого, но глобально уникального 16-битного числа каждой кодировке символов, с которой может столкнуться компьютерная система или совокупность компьютерных систем. Происхождение схемы нумерации от IBM отражено в том факте, что наименьшие (первые) числа присвоены вариантам кодировки EBCDIC IBM, а немного большие числа относятся к вариантам расширенной кодировки ASCII IBM, используемой в аппаратном обеспечении ПК.
С выпуском PC DOS версии 3.3 (и почти идентичной MS-DOS 3.3) IBM представила систему нумерации кодовых страниц обычным пользователям ПК, поскольку номера кодовых страниц (и фраза «кодовая страница») использовались в новых командах для разрешить систематическую настройку кодировки символов, используемой всеми частями ОС. [10]
Номера кодовых страниц IBM (CPGID и CCSID), используемые для кодировок CJK. Использование Microsoft номеров кодовых страниц для кодировок CJK отличается и указано в скобках, где это применимо.
После того, как IBM и Microsoft прекратили сотрудничество в 1990-х годах, две компании сохранили список присвоенных номеров кодовых страниц независимо друг от друга, что привело к некоторым противоречивым назначениям. По крайней мере, один сторонний поставщик ( Oracle ) также имеет свой собственный список числовых присвоений. [3] Текущие назначения IBM перечислены в их репозитории CCSID , а назначения Microsoft документированы в MSDN . [11] Кроме того, список названий и приблизительных сокращений IANA ( Агентство по присвоению номеров в Интернете ) для установленных кодовых страниц на любом компьютере с Windows можно найти в реестре на этом компьютере (эта информация используется программами Microsoft, такими как Internet Исследователь ).
Большинство известных кодовых страниц, за исключением страниц для языков CJK и вьетнамского языка , помещают все свои кодовые точки в восемь бит и не включают в себя ничего, кроме сопоставления каждой кодовой точки с одним символом; кроме того, не используются такие методы, как комбинирование символов, сложные сценарии и т. д.
Текстовый режим стандартного ( VGA-совместимого ) графического оборудования ПК построен на использовании 8-битной кодовой страницы, хотя можно использовать две одновременно с некоторой жертвой глубины цвета, а в адаптере дисплея можно сохранить до восьми для легкого переключения. [12] Был набор сторонних шрифтов кодовой страницы, которые можно было загрузить в такое оборудование. Однако в настоящее время поставщики операционных систем обычно предоставляют свои собственные системы кодирования и рендеринга символов, которые работают в графическом режиме и полностью обходят это аппаратное ограничение. Однако система обращения к кодировкам символов по номеру кодовой страницы остается применимой в качестве эффективной альтернативы строковым идентификаторам, например, указанным IETF и IANA для использования в различных протоколах, таких как электронная почта и веб-страницы.
Связь с ASCII
Большинство используемых в настоящее время кодовых страниц представляют собой расширенные наборы ASCII , 7-битного кода, представляющего 128 управляющих кодов и печатных символов. В далеком прошлом 8-битные реализации кода ASCII устанавливали старший бит в ноль или использовали его в качестве бита четности при передаче данных по сети. Когда верхний бит был доступен для представления символьных данных, можно было представить в общей сложности 256 символов и управляющих кодов. Большинство поставщиков (включая IBM) использовали этот расширенный диапазон для кодирования символов, используемых в различных языках, и графических элементов, что позволяло имитировать примитивную графику на устройствах вывода только текста. Для этих «расширенных наборов символов ASCII» не существовало формального стандарта, и поставщики называли эти варианты кодовыми страницами, как IBM всегда делала для вариантов кодировок EBCDIC.
Связь с Юникодом
Unicode — это попытка включить все символы из всех ныне и исторически используемых человеческих языков в одно перечисление символов (по сути, в одну большую кодовую страницу), устраняя необходимость различать разные кодовые страницы при обработке текста, хранящегося в цифровом виде. Unicode пытается сохранить обратную совместимость со многими устаревшими кодовыми страницами, копируя некоторые кодовые страницы 1:1 в процессе проектирования. Явной целью разработки Unicode было обеспечение двустороннего преобразования между всеми распространенными устаревшими кодовыми страницами, хотя эта цель не всегда достигалась. Некоторые поставщики, а именно IBM и Microsoft, анахронично присваивают номера кодовых страниц кодировкам Unicode. Это соглашение позволяет использовать номера кодовых страниц в качестве метаданных для определения правильного алгоритма декодирования при обнаружении двоичных хранимых данных.
Кодовые страницы IBM
Кодовые страницы на основе EBCDIC
Эти кодовые страницы используются IBM в наборах символов EBCDIC для мэйнфреймов . [13]
1 – США WP, оригинал
2 – США
3 – Бухгалтерский учет в США, версия А
4 – США
5 – США
6 – Латинская Америка
7 – Германия, Франция/Австрия
8 – Германия, Франция
9 – Франция, Бельгия
10 – Канада (английский)
11 – Канада (французский)
12 – Италия
13 – Нидерланды
14 –
15 – Швейцария (французский)
16 – Швейцария (французский/немецкий)
17 – Швейцария (немецкий)
18 – Швеция/Финляндия
19 – Швеция/Финляндия WP, версия 2
20 – Дания/Норвегия
21 – Бразилия
22 – Португалия
23 – Великобритания
24 – Великобритания
25 – Япония (латиница)
26 – Япония (латиница)
27 – Греция (латиница)
28 –
29 – Исландия
30 – Турция
31 – Южная Африка
32 – Чехословакия (Чешский/Словацкий)
33 – Чехословакия
34 – Чехословакия
35 – Румыния
36 – Румыния
37 – США/Канада – CECP (то же самое с евро: 1140)
37-2 — настоящая кодовая страница 3279 APL, используемая C/370. Это очень близко к 1047, за исключением перевернутой каретки и отсутствия знака. Он официально не признан IBM, хотя SHARE указал на его существование. [14]
38 – США ASCII
39 – Великобритания/Израиль
40 – Великобритания
251 – Китай
252 – Польша
254 – Венгрия
256 - Международный №1 (заменен на 500)
257 - Международный №2
258 - Международный №3
259 – Символы, набор 7
260 – канадский французский – 116
264 – Расширена обработка печати и текста
273 – Германия FR/Австрия – CECP (то же самое с евро: 1141)
274 – кодовая страница старой Бельгии
275 – Бразилия – CECP
276 – Канада (французский) – 94
277 – Дания, Норвегия – CECP (то же самое с евро: 1142)
278 – Финляндия, Швеция – CECP (то же самое с евро: 1143)
279 – французский – 94 [14]
280 – Италия – CECP (то же, что и евро: 1144)
281 – Япония (латиница) – CECP
282 – Португалия – CECP
283 – Испания – 190 [14]
284 – Испания/Латинская Америка – CECP (то же самое с евро: 1145)
285 – Великобритания – CECP (то же, что и евро: 1146)
286 - Австрия / Германия, запасной игрок FR
287 - Запасной игрок Дания / Норвегия
288 - Финляндия/Швеция Запасной
289 – запасной игрок Испании
290 – японский (катакана) расширенный
293 – АПЛ
297 – Франция (то же, что и евро: 1147) [14]
298 – Япония (катакана)
300 — Япония (кандзи) DBCS (для JIS X 0213)
310 – Графический побег APL/TN
320 – Венгрия
321 – Югославия
322 – Турция
330 - Международный №4
351 – GDDM по умолчанию
352 – Возможность печати и публикации.
353 – BCDIC-А
355 – стандартная опция PTTC/BCD
357 – опция PTTC/BCD H
358 – опция соответствия PTTC/BCD
359 – вариант моноблока PTTC/BCD
360 – опция PTTC/BCD Duocase
361 – EBCDIC Publishing International
363 – Символы, набор 8
382 – EBCDIC Publishing Австрия, Германия Альтернативный FR
383 – Издательство EBCDIC, Бельгия
384 – Издательство EBCDIC Бразилия
385 - EBCDIC Publishing Canada (французский)
386 – Издательство EBCDIC Дания, Норвегия
387 – EBCDIC Publishing Финляндия, Швеция
388 – Издательство EBCDIC Франция
389 – Издательство EBCDIC Италия
390 - EBCDIC Publishing Япония (латиница)
391 – Издательство EBCDIC Португалия
392 – Издательство EBCDIC Испания, Филиппины
393 - EBCDIC Publishing Latin America (испанский язык)
394 – EBCDIC Publishing Китай (Гонконг), Великобритания, Ирландия
395 – EBCDIC Publishing Австралия, Новая Зеландия, США, Канада (английский)
410 – кириллица (ревизии: 880, 1025, 1154)
420 – арабский
421 – Магриб/Французский
423 - греческий (заменен 875)
424 – иврит (код бюллетеня)
425 — арабский/латиница для OS/390 Open Edition
435 – Телетекст изоморфный
500 - Международный № 5 (ECECP; заменяет 256) (то же самое, что и евро: 1148)
803 – набор символов иврита A (старый код)
829 – Математические символы хоста – Публикация
833 - Корейский расширенный (SBCS)
834 - корейский хангыль (KSC5601; DBCS с УДК)
835 – Традиционный китайский DBCS
836 – Упрощенный расширенный китайский
837 – Упрощенный китайский DBCS
838 – Тайский с низкими оценками и символами с акцентом (то же самое, что и евро: 1160)
839 - Тайский DBCS
870 - латиница 2 (то же, что и евро: 1153) (редакция: 1110)
871 – Исландия (то же, что и евро: 1149) [14]
875 – греческий (заменяет 423)
880 – Кириллица (редакция 410) (ревизии: 1025, 1154)
881 – США – Графическая система 5080
882 – Великобритания – Графическая система 5080
883 - Швеция - Графическая система 5080
884 - Германия - Графическая система 5080
885 – Франция – Графическая система 5080
886 - Италия - Графическая система 5080
887 – Япония – Графическая система 5080
888 – Франция AZERTY - Графическая система 5080
889 – Таиланд
890 – Югославия
892 – EBCDIC, OCR A
893 – EBCDIC, OCR B
905 – Латиница 3
918 – двуязычный урду
924 – Латиница 9
930 – Japan MIX (290 + 300) (то же самое с евро: 1390)
931 – Япония МИКС (37 + 300)
933 – Корея MIX (833 + 834) (то же самое с евро: 1364)
935 – Упрощенный китайский MIX (836 + 837) (то же самое, что и евро: 1388)
937 – Традиционный китайский MIX (37 + 835) (то же самое, что и евро: 1371)
939 – Япония MIX (1027 + 300) (то же самое с евро: 1399)
1001 – МИКР
1002 – Совместимость EBCDIC DCF версии 2
1003 – EBCDIC DCF, подмножество текста США
1005 – Изоморфная текстовая коммуникация EBCDIC
1007 — EBCDIC арабский (XCOM2)
1024 – EBCDIC Т.61
1025 — кириллица, многоязычный (то же, что и евро: 1154) (версия 880)
1026 - EBCDIC Турция (5 латиница) (то же самое, что и евро: 1155) (заменяет 905 в этой стране)
1027 - расширенный японский (латиница) (расширенный JIS X 0201)
1028 – Издательство EBCDIC на иврите
1030 – японский (катакана) расширенный
1031 – японский (латиница) расширенный
1032 - MICR, E13-B Комбинированный
1033 - МИКР, СМС-7 Комбинированный
1037 - Корея - Графическая система 5080/6090
1039 – Совместимость с GML
1047 – Латинский 1/Открытые системы [14]
1068 — Совместимость с DCF
1069 – Латиница 4
1070 – США/Канада Версия 0 (Кодовая страница 37 Версия 0)
1071 - Германия, Франция / Австрия (Кодовая страница 273, версия 0)
1072 - Бельгия (Кодовая страница 274, версия 0)
1073 – Бразилия (Кодовая страница 275, версия 0)
1074 — Дания, Норвегия (Кодовая страница 277, версия 0)
1075 – Финляндия, Швеция (Кодовая страница 278, версия 0)
1076 – Италия (Кодовая страница 280 Версия 0)
1077 - Япония (латиница) (Кодовая страница 281, версия 0)
1078 - Португалия (Кодовая страница 282, версия 0)
1079 - Испания / Латинская Америка, версия 0 (кодовая страница 284, версия 0)
1080 – Великобритания (Кодовая страница 285, версия 0)
1081 - Франция Версия 0 (Кодовая страница 297 Версия 0)
1082 – Израиль (ивр.)
1083 – Израиль (иврит)
1084 - Международный № 5, версия 0 (Кодовая страница 500, версия 0)
1085 – Исландия (Кодовая страница 871 Версия 0)
1087 – Набор символов
1091 – Модифицированные символы, набор 7
1093 — Логотип IBM [15]
1097 - Фарси двуязычный
1110 - Латинский 2 (пересмотр 870)
1112 – Балтийский многоязычный (то же, что и евро: 1156)
1113 – Латиница 6
1122 – Эстония (то же, что и евро: 1157)
1123 — кириллица, Украина (то же, что и евро: 1158)
1130 – вьетнамский (то же, что и евро: 1164)
1132 – Лаосский EBCDIC
1136 – Хитачи Катакана
1137 – Деванагари EBCDIC
1140 – США, Канада и т. д. ECECP (то же, без евро: 37) (традиционная китайская версия: 1159)
1141 – Австрия, Германия ECECP (то же без евро: 273)
1142 – Дания, Норвегия ECECP (то же без евро: 277)
1143 – Финляндия, Швеция ECECP (то же без евро: 278)
1144 – Италия ECECP (то же без евро: 280)
1145 – Испания, Латинская Америка (испанский) ECECP (то же, без евро: 284)
1146 – UK ECECP (то же, без евро: 285)
1147 – Франция ECECP с евро (то же без евро: 297)
1148 – Международный ECECP с евро (то же без евро: 500)
1149 – исландский ECECP с евро (то же без евро: 871)
1150 - Корейский расширенный с квадратными символами
1151 - Расширенный упрощенный китайский с квадратными символами.
1152 - Расширенный традиционный китайский с квадратичными символами.
1153 - Латиница 2 Многоязычная с евро (то же без евро: 870)
1154 — кириллица, многоязычная с евро (то же, без евро: 1025; старая версия — *1166)
1155 – Турция с евро (то же без евро: 1026)
1156 – Baltic Multi с евро (то же без евро: 1112)
1157 – Эстония с евро (то же без евро: 1122)
1158 — кириллица, Украина с евро (то же, без евро: 1123)
1364 – Корея MIX (833 + 834 + евро) (то же без евро: 933)
1371 – Традиционный китайский MIX (1159 + 835) (то же, без евро: 937)
1376 – Расширение хоста DBCS на традиционном китайском языке для HKSCS.
1377 – Растет HKSCS со смешанным хостом (37 + 1376)
1388 – Упрощенный китайский MIX (то же, без евро: 935) (836 + 837 + евро)
1390 – Упрощенный китайский MIX Japan MIX (то же без евро: 930) (290 + 300 + евро)
1399 – Japan MIX (1027 + 300 + евро) (то же без евро: 939)
Кодовые страницы DOS
Эти кодовые страницы используются IBM в своей операционной системе PC DOS . Эти кодовые страницы изначально были встроены непосредственно в аппаратное обеспечение текстового режима графических адаптеров, используемых с IBM PC и его клонами, включая оригинальные адаптеры MDA и CGA, наборы символов которых можно было изменить только путем физической замены микросхемы ПЗУ, содержащей шрифт. Интерфейс этих адаптеров (эмулируемый всеми более поздними адаптерами, такими как VGA) обычно ограничивался однобайтовыми наборами символов, содержащими только 256 символов в каждом шрифте/кодировке (хотя VGA добавлял частичную поддержку немного больших наборов символов).
301 — IBM-PC Япония (кандзи) DBCS
437 — кодовая страница исходного оборудования IBM PC.
949 — корейский (Extended Wansung (ks_c_5601-1987)) ( 1088 + 951 ) (конфликтный идентификатор с Windows 949 (Unified Hangul Code); версия Windows — IBM 1363)
951 - корейский DBCS (код IBM KS) (конфликтный идентификатор с Windows 951, хак Windows 950 с сопоставлениями Юникода для некоторых символов Юникода PUA, найденных в HKSCS, на основе имени файла)
При работе со старым оборудованием, протоколами и форматами файлов часто необходимо поддерживать эти кодовые страницы, но для новых проектов рекомендуется использовать более новые системы кодирования, в частности Unicode.
Кодовые страницы DOS обычно хранятся в файлах .CPI. [16] [17] [18] [19] [20]
Кодовые страницы IBM AIX
Эти кодовые страницы используются IBM в своей операционной системе AIX . Они эмулируют несколько наборов символов, а именно те, которые предназначены для использования в соответствии с ISO, например, в UNIX-подобных операционных системах.
1382 - EUC упрощенный китайский (DBCS PC GB 2312-80)
1383 – EUC упрощенный китайский ( 367 + 1382 )
Кодовая страница 819 идентична Latin-1, ISO/IEC 8859-1 и с немного измененными командами позволяет машинам MS-DOS использовать эту кодировку. Он использовался с миникомпьютерами IBM AS/400.
Кодовые страницы IBM OS/2
Эти кодовые страницы используются IBM в своей операционной системе OS/2 .
Эти кодовые страницы используются IBM при эмуляции наборов символов Microsoft Windows . Большинство этих кодовых страниц имеют тот же номер, что и кодовые страницы Microsoft, хотя они не совсем идентичны. Однако некоторые кодовые страницы созданы IBM, а не разработаны Microsoft.
1400 – ISO 10646 UCS-BMP (на основе Unicode 6.0) [23]
1401 – ISO 10646 UCS-SMP (на основе Unicode 6.0) [23]
1402 – ISO 10646 UCS-SIP (на основе Unicode 6.0) [23]
1414 – ISO 10646 UCS-SSP (на основе Unicode 4.0) [23]
1445 - IBM AFP PUA № 1
1446 – ISO 10646 UCS-PUP15 (на основе Unicode 4.0) [23]
1447 – ISO 10646 UCS-PUP16 (на основе Unicode 4.0) [23]
1448 - УКС-БМП (Общий УДК)
1449 – PUA по умолчанию IBM
Кодовые страницы Microsoft
Кодовые страницы Windows
Эти кодовые страницы используются Microsoft в собственной операционной системе Windows. Microsoft определила ряд кодовых страниц , известных как кодовые страницы ANSI (первая из них, 1252, была основана на апокрифическом проекте ANSI того, что стало ISO 8859-1 ). Кодовая страница 1252 построена на основе ISO 8859-1, но использует диапазон 0x80-0x9F для дополнительных печатаемых символов, а не управляющие коды C1 из ISO 6429 , упомянутые в ISO 8859-1. [24] Некоторые из остальных частично основаны на других частях ISO 8859 , но часто переработаны, чтобы приблизиться к 1252.
Microsoft рекомендует новым приложениям использовать UTF-8 или UCS-2/UTF-16 вместо этих кодовых страниц. [25]
Кодовые страницы DBCS
Эти кодовые страницы представляют кодировки символов DBCS для различных языков CJK. В операционных системах Microsoft они используются как кодовая страница «OEM» и «Windows» для соответствующей локали.
Эти кодовые страницы используются Microsoft в своей операционной системе MS-DOS. Microsoft называет их кодовыми страницами OEM, поскольку они были определены производителями оригинального оборудования , которые лицензировали MS-DOS для распространения вместе с их оборудованием, а не Microsoft или организацией по стандартизации. Большинство этих кодовых страниц имеют тот же номер, что и эквивалентные кодовые страницы IBM, хотя некоторые из них не совсем идентичны. [26]
Следующие номера кодовых страниц относятся к Microsoft Windows. IBM может использовать разные номера для этих кодовых страниц. Они эмулируют несколько наборов символов, а именно те, которые предназначены для использования в соответствии с ISO, [ необходимы пояснения ], такие как UNIX-подобные операционные системы.
HP разработала серию наборов символов (каждый со своим соответствующим кодом набора символов) для кодирования либо своих собственных наборов символов, либо наборов символов других поставщиков. Обычно это 7-битные наборы символов, которые при перемещении в старшую часть и сопоставлении с набором символов ASCII образуют 8-битные наборы символов.
Собственные наборы символов HP
Набор символов 0E — расширение HP Roman — 7-битный набор символов с диакритическими буквами (кодируется IBM как кодовая страница 1050 ).
Набор символов 0G — HP, 7-битный немецкий язык
Набор символов 0L — 7-битная линейка HP PC (кодируется IBM как кодовая страница 1055 )
Набор символов 0M — HP Math-7
Набор символов 0T — HP Thai-8
Набор символов 1S — HP, 7-битный испанский язык
Набор символов 1U — 7-битная версия HP Gothic Legal (кодируется IBM как кодовая страница 1052 )
Набор символов 4Q — HP Line Draw (кодируется IBM как кодовая страница 1056)
Набор символов 18U — PC-853 Latin 3 (практически такой же, как кодовая страница 853 )
Набор символов 19L — Windows 98 Baltic (практически такой же, как кодовая страница 1257 )
Набор символов 19M — Символ Windows
Набор символов 19U — Windows 3.1 Latin 1 (практически такой же, как кодовая страница 1252 )
Набор символов 20U — PC-860 Португалия (практически такой же, как кодовая страница 860 )
Набор символов 21U — PC-861 Исландия (практически такой же, как кодовая страница 861 )
Набор символов 23U — PC-863 Канада — французский (практически такой же, как кодовая страница 863 )
Набор символов 24Q — PC-Polish Mazowia (Практически то же самое, что и кодировка Мазовии )
Набор символов 25U — PC-865 Дания/Норвегия (практически такой же, как кодовая страница 865 )
Набор символов 26U — PC-775 Latin 7 (практически такой же, как кодовая страница 775 )
Набор символов 27Q — PC-8 PC Nova (Практически такой же, как PC Nova )
Набор символов 27U — ПК латышский русский (также известный как 866-латышский)
Набор символов 28U — ПК Литовский/Русский (Практически такой же, как кодовая страница 774 )
Набор символов 29U — PC-772 Литовский/Русский (Практически такой же, как кодовая страница 772 )
Кодовые страницы других производителей
Эти кодовые страницы являются независимыми назначениями сторонних поставщиков. Поскольку исходная кодовая страница IBM PC ( номер 437 ) на самом деле не была предназначена для международного использования, появилось несколько частично совместимых вариантов, специфичных для страны или региона.
Эти присвоения номеров кодовых страниц не являются официальными ни IBM, ни Microsoft, и почти ни один из них не упоминается IANA как используемый набор символов. Номера, присвоенные этим кодовым страницам, произвольны и могут противоречить зарегистрированным номерам, используемым IBM или Microsoft. Некоторые из них могут предшествовать переключению кодовых страниц, добавленному в DOS 3.3.
100 — страница аппаратных шрифтов иврита DOS (не от IBM; HDOS ) [34]
711 - MS-DOS на арабском языке Nafitha Enhanced (не от IBM)
714 — MS-DOS арабский сакр (не от IBM)
715 — MS-DOS на арабском языке APTEC (не от IBM)
721 — MS-DOS Arab Nafitha International (не от IBM)
768 – арабский Аль-Араби (не от IBM)
770 — DOS эстонский, латышский, литовский [38] (от литовского Lika Software; [39] литовский национальный стандарт RST 1095-89)
771 — DOS Литовский/Кириллица — KBL [40] (от литовского Lika Software [39] )
772 — DOS, литовский/кириллица [41] (от литовского Lika Software; [39] литовский национальный стандарт LST 1284:1993; принят IBM как кодовая страница 1119 )
773 — DOS Latin-7 — KBL (от литовской компании Lika Software)
774 - DOS, литовский [42] (от литовского Lika Software; [39] литовский национальный стандарт LST 1283:1993; принят IBM как кодовая страница 1118 )
775 - DOS Latin-7 Baltic Rim (от литовского Lika Software; [39] Литовский национальный стандарт LST 1590-1; принят IBM и Microsoft как кодовая страница 775 )
776 — DOS литовский (расширенный CP770) [43] (от литовского Lika Software [39] )
777 — Литовский с акцентом для DOS (старый) (расширенный CP773) — KBL [43] (от литовского Lika Software [39] )
778 - Литовский с акцентом DOS (расширенный CP775) [43] (от литовского Lika Software [39] )
881 — Latin 1 (не от IBM; AST Premium Exec DOS 5.0 [35] [36] [37] ) (конфликт идентификатора с IBM EBCDIC 881)
882 - Latin 2 (ISO 8859-2) (не от IBM; то же, что и кодовая страница 912; AST Premium Exec DOS 5.0 [35] [36] [37] ) (конфликт идентификатора с IBM EBCDIC 882)
883 – Latin 3 (не от IBM; AST Premium Exec DOS 5.0 [35] [36] [37] ) (конфликт идентификатора с IBM EBCDIC 883)
884 – Latin 4 (не от IBM; AST Premium Exec DOS 5.0 [35] [36] [37] ) (конфликт ID с IBM EBCDIC 884)
885 – Latin 5 (не от IBM; AST Premium Exec DOS 5.0 [35] [36] [37] ) (конфликт ID с IBM EBCDIC 885)
895 — чешский (Каменицкий) , (не от IBM; конфликтный идентификатор с IBM CP895 — 7-битный EUC японский римский)
896 - DOS Polish (Мазовия) (не от IBM; конфликтный идентификатор с IBM CP896 - 7-битная EUC японская катакана)
900 – DOS Русский (Русский MS-DOS 5.0 LCD.CPI)
928 – греческий (на принтерах Star [45] ); то же, что греческий национальный стандарт ELOT 928 (не от IBM; конфликтует идентификатор с IBM CP928 — упрощенная китайская PC DBCS)
999 – DOS сербско-хорватский I (не от IBM); также известный как PC Nova и CroSCII; нижняя часть — JUSI.B1.002, верхняя часть — кодовая страница 437; поддерживает словенский и сербско-хорватский языки (латиница)
1001 — арабский (на принтерах Star [45] ) (не от IBM; конфликтный идентификатор с IBM CP1001 — MICR)
1261 — Windows Корейская IBM-1261 LMBCS-17, аналогичная 1363.
1270 – Окна-саамы
2001 г. – Литовский КБЛ (на принтерах Star [45] ); то же, что кодовая страница 771
3001 – Эстонский 1 (на принтерах Star [45] ); то же, что кодовая страница 1116
3002 – Эстонский 2 (на принтерах Star [45] ); то же, что кодовая страница 922
3011 – Латышский 1 (на принтерах Star [45] ); то же, что и кодовая страница 437-латышский
3012 – Латышский-2 (на принтерах Star [45] ); то же, что кодовая страница 866-латышский (латвийский национальный стандарт RST 1040-90)
3021 – Болгарский (на принтерах Star [45] ); то же, что МИК
3031 – иврит (на принтерах Star [45] ); то же, что кодовая страница 862
3041 – мальтийский (на принтерах Star [45] ); то же, что и ISO 646 мальтийский
3840 – IBM-Русский (на принтерах Star [45] ); почти то же самое, что и CP 866
3841 – Гост-Русский (на принтерах Стар [45] ); ГОСТ 13052 плюс символы для языков Средней Азии.
3843 – польский (на принтерах Star [45] ); то же, что Мазовия
3844 – CS2 (на принтерах Star [45] ); то же, что Каменицкий
3845 – венгерский (на принтерах Star [45] ); то же, что и КРИ
3846 – турецкий (на принтерах Star [45] ); то же, что PC-8 турецкий + старый знак турецкой лиры (Tʟ) в кодовой точке A8.
3847 – Бразилия-ABNT (на принтерах Star [45] ); такой же, как национальный стандарт Бразилии NBR-9614:1986.
3848 – Бразилия-ABICOMP (на принтерах Star [45] ); то же, что АБИКОМП
3850 – Стандарт КУ (на принтерах Star [45] ); вариант кодировки Университета Касетсарт для тайского языка
3860 – Райвитее КУ (на принтерах Star [45] ); вариант кодировки Университета Касетсарт для тайского языка
3861 – Микровиз КУ (на принтерах Стар [45] ); вариант кодировки Университета Касетсарт для тайского языка
3863 – STD988 TIS (на принтерах Star [45] ); вариант кодировки TIS 620 для тайского языка
3864 – Популярный ТИС (на принтерах Star [45] ); вариант кодировки TIS 620 для тайского языка
3865 – Newsic TIS (на принтерах Star [45] ); вариант кодировки TIS 620 для тайского языка
28799 – FOCAL (на принтерах Star [45] ); то же, что набор символов FOCAL
28800 – HP RPL (на принтерах Star [45] ); то же, что РПЛ
Список известных назначений кодовых страниц (неполный):
Критика
Многие старые кодировки символов (в отличие от Unicode) страдают от ряда проблем. Некоторые поставщики недостаточно документируют значение всех значений кодовых точек в своих кодовых страницах, что снижает надежность последовательной обработки текстовых данных в различных компьютерных системах. Некоторые поставщики добавляют собственные расширения к установленным кодовым страницам, чтобы добавлять или изменять определенные значения кодовых точек: например, байт 0x5C в Shift JIS может представлять собой либо обратную косую черту , либо символ валюты иены в зависимости от платформы. Наконец, чтобы поддерживать несколько языков в программе, не использующей Unicode, необходимо сохранить кодовую страницу, используемую для каждой строки/документа.
Приложения также могут ошибочно помечать текст в Windows-1252 как ISO-8859-1 . Единственное различие между этими кодовыми страницами заключается в том, что значения кодовых точек в диапазоне 0x80–0x9F, используемые в ISO-8859-1 для управляющих символов, вместо этого используются в качестве дополнительных печатаемых символов в Windows-1252 – особенно для кавычек , евро. знак и символ товарного знака, среди прочего. Браузеры на платформах, отличных от Windows, обычно отображают пустые поля или вопросительные знаки для этих символов, что затрудняет чтение текста. Большинство браузеров исправили это, игнорируя набор символов и интерпретируя его как Windows-1252, чтобы он выглядел приемлемо. В HTML5 обработка ISO-8859-1 как Windows-1252 даже кодифицирована как стандарт W3C . [47] Хотя браузеры обычно были запрограммированы на такое поведение, это не всегда справедливо для другого программного обеспечения. Следовательно, при получении передачи файла из системы Windows платформы, отличные от Windows, будут либо игнорировать эти символы, либо рассматривать их как стандартные управляющие символы и пытаться соответствующим образом выполнить указанное управляющее действие.
Из-за обширной документации Unicode, обширного набора символов и политики стабильности символов перечисленные выше проблемы редко вызывают беспокойство Unicode. UTF-8 (который может кодировать более миллиона кодовых точек) заменил метод кодовой страницы с точки зрения популярности в Интернете. [48] [49]
Частные кодовые страницы
Когда в начале истории персональных компьютеров пользователи не обнаруживали, что их требования к кодировке символов были выполнены, частные или локальные кодовые страницы создавались с помощью резидентных утилит или путем перепрограммирования BIOS EPROM . В некоторых случаях были изобретены неофициальные номера кодовых страниц (например, CP895).
Когда стала доступна более разнообразная поддержка наборов символов, большинство этих кодовых страниц вышли из употребления, за некоторыми исключениями, такими как кодировка Kamenický или KEYBCS2 для чешского и словацкого алфавитов. Другой набор символов — это стандарт кодирования Иранской системы , созданный корпорацией Иранской системы для поддержки персидского языка . Этот стандарт использовался в Иране в программах для DOS, и после введения кодовой страницы Microsoft 1256 этот стандарт устарел. Однако некоторые программы Windows и DOS, использующие эту кодировку, все еще используются, и существуют некоторые шрифты Windows с этой кодировкой.
Чтобы преодолеть такие проблемы, уровень 2 архитектуры представления символьных данных IBM специально резервирует диапазоны идентификаторов кодовых страниц для назначений, определяемых пользователем и для частного использования. Всякий раз, когда используются такие идентификаторы кодовых страниц, пользователь не должен предполагать, что та же функциональность и внешний вид могут быть воспроизведены в другой конфигурации системы или на другом устройстве или системе, если пользователь не позаботится об этом специально. Диапазон кодовых страниц 57344-61439 ( E000h - EFFFh ) официально зарезервирован для кодовых страниц, определяемых пользователем (или фактически CCSID в контексте IBM CDRA ), тогда как диапазон 65280-65533 ( FF00h - FFFDh ) зарезервирован для любых кодовых страниц, определяемых пользователем. определяемые назначения «частного использования». Например, незарегистрированный пользовательский вариант кодовой страницы 437 ( 1B5h ) или 28591 ( 6FAF ) может стать 57781 ( E1B5h ) или 61359 ( EFAFh ) соответственно, чтобы избежать потенциальных конфликтов с другими присвоениями и сохранить иногда существующие внутренние числовая логика в назначениях исходных кодовых страниц. Незарегистрированная частная кодовая страница, не основанная на существующей кодовой странице, кодовая страница, специфичная для устройства, такая как шрифт принтера, которой нужен только логический дескриптор, чтобы она стала адресуемой для системы, часто меняющийся шрифт загрузки или номер кодовой страницы с символическим то есть в локальной среде может иметь назначение в частном диапазоне, например 65280 ( FF00h ).
Идентификаторы кодовых страниц 0, 65534 ( FFFEh ) и 65535 ( FFFFh ) зарезервированы для внутреннего использования операционными системами, такими как DOS, и не должны назначаться каким-либо конкретным кодовым страницам.
^ «Кодовая страница». SAP.com . Архивировано из оригинала 14 ноября 2009 г. Проверено 8 августа 2009 г.
^ ab «Глоссарий». oracle.com . Архивировано из оригинала 30 сентября 2011 г. Проверено 8 августа 2009 г.
^ «Информация о программисте видеотерминала VT510» . Корпорация цифрового оборудования (DEC). 7.1. Наборы символов — Обзор. Архивировано из оригинала 26 января 2016 г. Проверено 15 февраля 2017 г. В дополнение к традиционным наборам символов DEC и ISO , которые соответствуют структуре и правилам ISO 2022 , VT510 поддерживает ряд кодовых страниц IBM PC ( номера страниц в руководстве по стандартному набору символов IBM) в режиме PCTerm для эмуляции консольного терминала ПК отраслевого стандарта.
^ «7.1. Наборы символов — обзор» . Информация о программаторе видеотерминала VT520/VT525 (PDF) . Корпорация цифрового оборудования (DEC). Июль 1994 г. с. 7-1. ЭК-ВТ520-РМ. А01. Архивировано (PDF) из оригинала 15 февраля 2017 г. Проверено 15 февраля 2017 г. В дополнение к традиционным наборам символов DEC и ISO VT520 поддерживает ряд кодовых страниц IBM PC (которые относятся к номерам страниц в руководстве по стандартным наборам символов IBM) в режиме PCTerm для эмуляции консольного терминала ПК, соответствующих отраслевым стандартам.
^ abc Пол, Матиас Р. (10 июня 2001 г.) [1995]. «Обзор кодовых страниц DOS, OS/2 и Windows» (файл CODEPAGE.LST) (предварительная редакция 1.59). Архивировано из оригинала 20 апреля 2016 г. Проверено 20 августа 2016 г.
^ «Наборы символов языка команд принтера» . www.pclviewer.com . Архивировано из оригинала 31 июля 2020 г. Проверено 25 мая 2021 г.
^ «Наборы символов HP». pclhelp.com . Архивировано из оригинала 19 февраля 2015 г. Проверено 20 февраля 2017 г.
^ «Руководство по сравнению PCL5» (PDF) . Архивировано (PDF) из оригинала 21 февраля 2017 г. Проверено 20 февраля 2017 г.
^ Збиковски, Марк ; Аллен, Пол ; Балмер, Стив ; Борман, Рубен; Борман, Роб; Батлер, Джон; Кэрролл, Чак; Чемберлен, Марк; Челл, Дэвид; Коули, Майк; Кортни, Майк; Драйфус, Майк; Дункан, Рэйчел; Экхардт, Курт; Эванс, Эрик; Фермер, Рик; Гейтс, Билл ; Гири, Майкл; Гриффин, Боб; Хогарт, Дуг; Джонсон, Джеймс В.; Кермаани, Каамель; Король, Адриан; Кох, Рид; Ландовски, Джеймс; Ларсон, Крис; Леннон, Томас; Липки, Дэн; Макдональд, Марк ; МакКинни, Брюс; Мартин, Паскаль; Мазерс, Эстель; Мэтьюз, Боб; Мелин, Дэвид; Мергентайм, Чарльз; Невин, Рэнди; Ньюэлл, Дэн; Ньюэлл, Тани; Норрис, Дэвид; О'Лири, Майк; О'Рир, Боб ; Олссон, Майк; Остерман, Ларри; Остлинг, Ридж; Пай, Сунил; Патерсон, Тим ; Перес, Гэри; Питерс, Крис; Петцольд, Чарльз ; Поллок, Джон; Рейнольдс, Аарон ; Рубин, Дэррил; Райан, Ральф; Шульмейстерс, Карл; Шах, Раджен; Шоу, Барри; Коротко, Энтони; Сливка, Бен; Смирл, Джон; Стиллмейкер, Бетти; Стоддард, Джон; Тиллман, Деннис; Уиттен, Грег; Йонт, Натали; Зек, Стив (1988). «Технические консультанты». Энциклопедия MS-DOS: версии с 1.0 по 3.2 . Дункан, Рэй; Боствик, Стив; Бургойн, Кейт; Байерс, Роберт А.; Хоган, Том; Кайл, Джим; Летвин, Гордон ; Петцольд, Чарльз ; Рабиновиц, Чип; Томлин, Джим; Уилтон, Ричард; Вулвертон, Ван; Вонг, Уильям; Вудкок, Джоанн (Полностью переработанная ред.). Редмонд, Вашингтон, США: Microsoft Press . ISBN1-55615-049-0. LCCN 87-21452. ОСЛК 16581341.[1] Архивировано 14 октября 2018 г. в Wayback Machine (xix+1570 страниц; 26 см) (Примечание. Это издание было опубликовано в 1988 г. после обширной переработки отозванного первого издания 1986 г. другой группой авторов.)
^ «Идентификаторы кодовых страниц». microsoft.com . Майкрософт . Архивировано из оригинала 27 октября 2014 г. Проверено 27 октября 2014 г.
^ «Программирование видео VGA/SVGA — работа в текстовом режиме VGA» . osdever.net . Архивировано из оригинала 1 сентября 2010 г. Проверено 23 сентября 2006 г.
^ «IBM и глобализация: кодовые страницы» . ИБМ. Архивировано из оригинала 16 июля 2012 г.
^ abcdef xlate - Транслитерированное содержание записей, IBM Corporation , 2010 [1986], заархивировано из оригинала 16 июня 2019 г. , получено 18 октября 2016 г.
^ «Кодовая страница CPGID 01093 (pdf)» (PDF) . Архивировано из оригинала (PDF) 8 июля 2015 г.
^ Пол, Матиас Р. (10 июня 2001 г.) [1995]. «Описание формата файлов .CPI DOS, OS/2 и Windows NT и Linux .CP» (файл CPI.LST) (изд. 1.30). Архивировано из оригинала 20 апреля 2016 г. Проверено 20 августа 2016 г.
^ Эллиотт, Джон К. (14 октября 2006 г.). «Формат файла CPI». Seasip.info . Архивировано из оригинала 22 сентября 2016 г. Проверено 22 сентября 2016 г.
^ Брауэр, Андрис Эверт (10 февраля 2001 г.). «CPI-шрифты». 0,2. Архивировано из оригинала 22 сентября 2016 г. Проверено 22 сентября 2016 г.
^ Хараламбус, Яннис (сентябрь 2007 г.). Шрифты и кодировки . Перевод Хорна, П. Скотта (1-е изд.). Севастополь, Калифорния, США: O'Reilly Media, Inc. , стр. 601–602, 611. ISBN.978-0-596-10242-5.
^ «Кодовая страница 1004 — Windows Extended» . ИБМ . 2001. Архивировано из оригинала 13 мая 2018 г. Проверено 13 мая 2018 г.
^ «Архитектура представления символьных данных» . ИБМ . Архивировано из оригинала 23 июня 2019 г. Проверено 12 октября 2019 г.
^ abcdefghijkl «Идентификатор кодированного набора символов IBM (CCSID)» . ИБМ . Архивировано из оригинала 26 ноября 2009 г.
^ ИСО/МЭК 8859-1:1998(Е). ИСО . 15 апреля 1998 г. п. 1. Архивировано из оригинала 30 октября 2020 г. Проверено 30 октября 2020 г. Кодированные символы в этом наборе могут использоваться в сочетании с кодированными функциями управления, выбранными из ISO/IEC 6429.
^ «Кодовые страницы». microsoft.com . Майкрософт . Архивировано из оригинала 27 февраля 2011 г. Проверено 21 декабря 2010 г.
^ "пентахо/пентахо-репортаж" . Гитхаб . Архивировано из оригинала 16 июня 2019 г. Проверено 20 февраля 2017 г.
^ abcde «Идентификаторы кодовых страниц». Сеть разработчиков Microsoft . Майкрософт. 2014. Архивировано из оригинала 19 июня 2016 г. Проверено 19 июня 2016 г.
^ abcde «Веб-кодировки — Internet Explorer — Кодировки». WHATWG Wiki . 2012-10-23. Архивировано из оригинала 20 июня 2016 г. Проверено 20 июня 2016 г.
^ Фоллер, Антонин (2014) [2011]. «Западноевропейская (IA5) кодировка — кодировки Windows». WUtils.com — Интернет-утилита и справка . Программное обеспечение Мотобит. Архивировано из оригинала 20 июня 2016 г. Проверено 20 июня 2016 г.
^ Фоллер, Антонин (2014) [2011]. «Немецкая кодировка (IA5) — кодировки Windows». WUtils.com — Интернет-утилита и справка . Программное обеспечение Мотобит. Архивировано из оригинала 20 июня 2016 г. Проверено 20 июня 2016 г.
^ Фоллер, Антонин (2014) [2011]. «Шведская (IA5) кодировка — кодировки Windows». WUtils.com — Интернет-утилита и справка . Программное обеспечение Мотобит. Архивировано из оригинала 20 июня 2016 г. Проверено 20 июня 2016 г.
^ Фоллер, Антонин (2014) [2011]. «Норвежская (IA5) кодировка — кодировки Windows». WUtils.com — Интернет-утилита и справка . Программное обеспечение Мотобит. Архивировано из оригинала 20 июня 2016 г. Проверено 20 июня 2016 г.
^ Фоллер, Антонин (2014) [2011]. «Кодировка US-ASCII — кодировки Windows». WUtils.com — Интернет-утилита и справка . Программное обеспечение Мотобит. Архивировано из оригинала 20 июня 2016 г. Проверено 20 июня 2016 г.
^ abcdefg Пол, Матиас Р. (05 сентября 2002 г.), Техническая информация о недокументированной информации о стране DOS для записей LCASE, ARAMODE и CCTORC, список разработчиков FreeDOS fd-dev в Topica, заархивировано из оригинала 27 мая 2016 г. , получено 26 мая 2016 г.
^ abcdefgh Пол, Матиас Р. (30 июля 1997 г.). NWDOS-TIPs — советы и подсказки для Novell DOS 7, с просмотром недокументированных подробностей, ошибок и обходных путей. MPDOSTIP (на немецком языке) (3-е изд.). Архивировано из оригинала 22 мая 2016 г. Проверено 11 января 2012 г.(Примечание. NWDOSTIP.TXT — это всеобъемлющая работа по Novell DOS 7 и OpenDOS 7.01 , включая описание многих недокументированных функций и внутренних устройств. Это часть еще более обширной авторской коллекции MPDOSTIP.ZIP, которая поддерживалась до 2001 года и распространялась на многих сайтах по адресу: время. Предоставленная ссылка указывает на более старую версию файла NWDOSTIP.TXT, преобразованную в HTML.)
^ abcdefgh Пол, Матиас Р. (9 апреля 2001 г.). NWDOS-TIPs — советы и подсказки для Novell DOS 7, с просмотром недокументированных подробностей, ошибок и обходных путей . MPDOSTIP (на немецком языке) (3-е изд.).
^ "770". Архивировано из оригинала 26 февраля 2017 г. Проверено 25 февраля 2017 г.От литовского Lika Software
^ abcdefgh "ЛИКИТ". www.likit.lt . Архивировано из оригинала 19 апреля 2017 г. Проверено 25 февраля 2017 г.
^ "771". Архивировано из оригинала 26 февраля 2017 г. Проверено 25 февраля 2017 г.От литовского Lika Software
^ "772". Архивировано из оригинала 26 февраля 2017 г. Проверено 25 февраля 2017 г.От литовского Lika Software
^ "774". Архивировано из оригинала 26 февраля 2017 г. Проверено 25 февраля 2017 г.От литовского Lika Software
^ abc "lietuvybė.lt - Rašmenų koduotės" [lietuvybė.lt - Кодировки символов] (на литовском языке). Архивировано из оригинала 28 августа 2019 г. Проверено 28 августа 2019 г.
^ Хоган, Том (1992). Die PC-Referenz für Programmierer (на немецком языке) (2-е изд.). Система Верлаг ГмбХ. ISBN3-89390-272-4.(Примечание. Эта книга представляет собой немецкий перевод «Справочника по ПК для программистов», выпущенного Microsoft Press. В ней упоминается кодовая страница с идентификатором 854 для Испании.)
^ abcdefghijklmnopqrstu vwxyz «Руководство пользователя Star LC 8021» (PDF) . Архивировано (PDF) из оригинала 29 сентября 2020 г. Проверено 20 февраля 2017 г.
^ IBM. «Информационный документ о кодовой странице SBCS — CPGID 00437». Архивировано из оригинала 9 июня 2016 г. Проверено 4 июля 2014 г.
^ «Кодировка». ЧТОРГ . 27 января 2015 г. сек. 4.2 Имена и метки. Архивировано из оригинала 4 февраля 2015 г. Проверено 4 февраля 2015 г.
^ «Статистика использования кодировок символов на веб-сайтах (обновляется ежедневно)» . w3techs.com . Проверено 6 августа 2015 г.
^ «Статистика использования UTF-8» . Trends.builtwith.com . Архивировано из оригинала 24 марта 2011 г. Проверено 28 марта 2011 г.
Внешние ссылки
Глоссарий IBM CDRA
Кодовые страницы IBM на Wayback Machine (архивировано 5 февраля 2016 г.)
Кодовые страницы IBM по схеме кодирования на Wayback Machine (архивировано 6 сентября 2009 г.)
Информация о кодировке IBM/ICU
Идентификаторы кодовых страниц Microsoft (список Microsoft содержит только кодовые страницы, активно используемые обычными приложениями в Windows. Полный список поддерживаемых кодовых страниц см. также в списке Торстена Морина)
Более короткий список Microsoft, содержащий только кодовые страницы ANSI и OEM, но со ссылками на более подробную информацию о каждой из них на Wayback Machine (архивировано 23 октября 2012 г.)
Наборы символов и кодовые страницы одним нажатием кнопки
Команда Microsoft Chcp: отображение и установка активной кодовой страницы консоли.