Windows что такое какая кодовая страница

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

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

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

Содержание

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

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

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

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

Использование различных кодовых страниц создаёт много неудобств как для пользователей, так и для программистов. При попытке прочесть текстовый файл при помощи кодовой страницы, несовместимой с той в которой он был создан, возникают кракозябры. В последние годы получил широкое распространение 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. REG: CurrentControlSet, PART 1, Microsoft (англ.)
  4. Кодовые страницы в Visual C++, MSDN
  5. Code Pages, MSDN
  6. MSDN: Glossary of Terms
  7. Windows code pages, MSDN

См. также

  • Консоль Linux
Кодировки символов
Основы → алфавит • текст ( файл • данные ) • набор символов • конверсия
Исторические кодировки → Докомп.:семафорная (Макарова) • Морзе • Бодо • МТК-2 Комп.:6 бит • УПП • RADIX-50 • EBCDIC ( ДКОИ-8 ) • КОИ-7 • ISO 646
совре-
менное
8-битное
представ-
ление
символы → ASCII ( управляющие • печатные ) не-ASCII ( псевдографика )
8бит. код.стр. Разные → Кириллица: КОИ-8 • ГОСТ 19768-87 • MacCyrillic
ISO 8859 → 1(лат.)2345(кир.)67891011 12 131415(€)16
Windows → 12501251(кир.)125212531254 1255 1256 1257 1258 | WGL4
IBM&DOS → 437 • 850 • 852 • 855 • 866 «альт.» • ( МИК ) • ( НИИ ЭВМ )
Много-
байтные
Традиционные → DBCS ( GB2312 ) • HTML
Unicode → UTF-16 • UTF-8 • список символов ( кириллица )
Связанные
темы →
интерфейс пользователя • раскладка клавиатуры • локаль • перевод строки • шрифт • кракозябры • транслит • нестандартные шрифты • текст как изображение Утилиты: iconv • recode

Wikimedia Foundation . 2010 .

Смотреть что такое «Кодовая страница» в других словарях:

кодовая страница — (Codepage) Способ хранения информации о шрифте [упорядоченное множество знаков определенной системы письма] в памяти компьютера, включающий заранее заданный упорядоченный стандартный Комплект знаков (кодировку) для набора текста на… … Шрифтовая терминология

кодовая страница — Страница, на которой записаны коды клавиатуры, используемой в какой либо стране. Главную роль здесь играют символы используемого в стране естественного языка. Каждая клавиатура имеет свой номер. [Гипертекстовый энциклопедический словарь по… … Справочник технического переводчика

Страница — Страница: Страница любая из двух сторон листа бумаги (обычно в книге или тетради). Машинописная страница единица измерения объёма текста, весьма распространённая в докомпьютерную эпоху. Один авторский лист составляет примерно 22 23 машинописных… … Википедия

codepage — Кодовая страница (Codepage) Способ хранения информации о шрифте [упорядоченное множество знаков определенной системы письма] в памяти компьютера, включающий заранее заданный упорядоченный стандартный Комплект знаков (кодировку) для набора… … Шрифтовая терминология

CP850 — Кодовая страница 850 используется в Западной Европе на персональных компьютерах с MS DOS и другими подобными операционными системами, а также в консольных программах Microsoft Windows. CP850 отличается от CP437 тем, что включает все символы ISO… … Википедия

Октеты со старшим битом 1 — Подмножество октетов со старшим битом 1 включает те значения октета, у которых старший бит равен единице (установлен). Содержит коды 10000000..11111111 в двоичном представлении, 0x80..0xFF в шестнадцатеричном, 0200..0377 в восьмеричном, 128..255… … Википедия

Чистый 8-бит — Подмножество октетов со старшим битом 1 включает те значения октета, у которых старший бит равен единице (установлен). Содержит коды 10000000..11111111 в двоичном представлении, 0x80..0xFF в шестнадцатеричном, 0200..0377 в восьмеричном, 128..255… … Википедия

Alt-код — Проверить информацию. Необходимо проверить точность фактов и достоверность сведений, изложенных в этой статье. На странице обсуждения должны быть пояснения … Википедия

Читайте также:  Диспетчеризация потоков ос windows

Арабское письмо — Тип: консонантное Языки: Арабский, перс … Википедия

Болгарская кодировка — «Болгарская кодировка» (называемая также MIK, Interprog и «старый вариант ВЦ АН СССР») это кодовая страница, применявшаяся на компьютерах болгарского производства (например, «Правец»). Эта кодировка не зафиксирована ни в одном нормативном… … Википедия

Использование кодовой страницы UTF-8 Use the UTF-8 code page

Используйте кодировку UTF-8 для обеспечения оптимальной совместимости между веб-приложениями и другими * платформами на основе nix (UNIX, Linux и разновидности), свести к сведению ошибки локализации и снизить затраты на тестирование. Use UTF-8 character encoding for optimal compatibility between web apps and other *nix-based platforms (Unix, Linux, and variants), minimize localization bugs, and reduce testing overhead.

UTF-8 — это универсальная кодовая страница для интернационализации и способная кодировать весь набор символов Юникода. UTF-8 is the universal code page for internationalization and is able to encode the entire Unicode character set. Он используется в Интернете по умолчанию, а также на платформах на основе NIX. It is used pervasively on the web, and is the default for *nix-based platforms.

Закодированный символ занимает от 1 до 4 байт. An encoded character takes between 1 and 4 bytes. Кодировка UTF-8 поддерживает более длинные последовательности байтов (до 6 байт), но большая кодовая точка Юникода 6,0 (U + 10FFFF) занимает всего 4 байта. UTF-8 encoding supports longer byte sequences, up to 6 bytes, but the biggest code point of Unicode 6.0 (U+10FFFF) only takes 4 bytes.

— API-интерфейсы и-W -A vs. -W APIs

Интерфейсы API Win32 часто поддерживают варианты «-A» и «W». Win32 APIs often support both -A and -W variants.

— Варианты, распознаваемые кодовую страницу ANSI, настроенную для системы и поддержки char* , а варианты-W работают в кодировке UTF-16 и поддерживают WCHAR . -A variants recognize the ANSI code page configured on the system and support char* , while -W variants operate in UTF-16 and support WCHAR .

До недавнего времени Windows выделена «Юникод»-W Variant для API. Until recently, Windows has emphasized «Unicode» -W variants over -A APIs. Однако последние выпуски использовали кодовую страницу ANSI и — API-интерфейсы в качестве средства для поддержки приложений в кодировке UTF-8. However, recent releases have used the ANSI code page and -A APIs as a means to introduce UTF-8 support to apps. Если кодовая страница ANSI настроена для UTF-8, то API-интерфейсы работают в кодировке UTF-8. If the ANSI code page is configured for UTF-8, -A APIs operate in UTF-8. Эта модель имеет преимущество поддержки существующего кода, построенного с помощью API-интерфейсов, без изменения кода. This model has the benefit of supporting existing code built with -A APIs without any code changes.

Задание кодовой страницы процесса UTF-8 Set a process code page to UTF-8

Начиная с версии Windows 1903 (Май 2019), можно использовать свойство Активекодепаже в appxmanifest для упакованных приложений или манифест Fusion для неупакованных приложений, чтобы заставить процесс использовать UTF-8 в качестве кодовой страницы процесса. As of Windows Version 1903 (May 2019 Update), you can use the ActiveCodePage property in the appxmanifest for packaged apps, or the fusion manifest for unpackaged apps, to force a process to use UTF-8 as the process code page.

Вы можете объявить это свойство и целевой объект или выполнить его в более ранних сборках Windows, но необходимо как обычно выполнять обнаружение и преобразование кодовых страниц прежних версий. You can declare this property and target/run on earlier Windows builds, but you must handle legacy code page detection and conversion as usual. При использовании минимальной целевой версии Windows версии 1903 кодовая страница процесса всегда будет UTF-8, поэтому можно избежать обнаружения и преобразования кодовой страницы прежних версий. With a minimum target version of Windows Version 1903, the process code page will always be UTF-8 so legacy code page detection and conversion can be avoided.

Примеры Examples

Манифест appx для упакованного приложения: Appx manifest for a packaged app:

Манифест Fusion для неупакованного приложения Win32: Fusion manifest for an unpackaged Win32 app:

Добавление манифеста в существующий исполняемый файл из командной строки с помощью команды mt.exe -manifest -outputresource: ;#1 Add a manifest to an existing executable from the command line with mt.exe -manifest -outputresource: ;#1

Преобразование кодовой страницы Code page conversion

Поскольку Windows изначально работает в UTF-16 ( WCHAR ), может потребоваться преобразовать данные UTF-8 в UTF-16 (или наоборот) для взаимодействия с API Windows. As Windows operates natively in UTF-16 ( WCHAR ), you might need to convert UTF-8 data to UTF-16 (or vice versa) to interoperate with Windows APIs.

MultiByteToWideChar и WideCharToMultiByte позволяют выполнить преобразование между UTF-8 и UTF-16 ( WCHAR ) (и другими кодовыми страницами). MultiByteToWideChar and WideCharToMultiByte let you convert between UTF-8 and UTF-16 ( WCHAR ) (and other code pages). Это особенно полезно, когда устаревший API Win32 может понимать только WCHAR . This is particularly useful when a legacy Win32 API might only understand WCHAR . Эти функции позволяют преобразовать входные данные UTF-8 в WCHAR для передачи в API-интерфейс, а затем преобразовать все результаты при необходимости. These functions allow you to convert UTF-8 input to WCHAR to pass into a -W API and then convert any results back if necessary. При использовании этих функций с CodePage параметром CP_UTF8 , имеющим значение, используйте dwFlags либо 0 или MB_ERR_INVALID_CHARS , в противном случае — ERROR_INVALID_FLAGS . When using these functions with CodePage set to CP_UTF8 , use dwFlags of either 0 or MB_ERR_INVALID_CHARS , otherwise an ERROR_INVALID_FLAGS occurs.

CP_ACP«CP_UTF8 соответствует только в том случае, если работает в Windows версии 1903 (май 2019) или выше, а описанное выше свойство активекодепаже имеет значение UTF-8. CP_ACP equates to CP_UTF8 only if running on Windows Version 1903 (May 2019 Update) or above and the ActiveCodePage property described above is set to UTF-8. В противном случае она учитывает устаревшую системную кодовую страницу. Otherwise, it honors the legacy system code page. Рекомендуется использовать CP_UTF8 явно. We recommend using CP_UTF8 explicitly.

Кодовая страница Windows — Windows code page

Кодовые страницы Windows — это наборы символов или кодовых страниц (известные как кодировки символов в других операционных системах), используемые в Microsoft Windows с 1980-х и 1990-х годов. Кодовые страницы Windows постепенно вытеснялись, когда Unicode был реализован в Windows , хотя они по-прежнему поддерживаются как в Windows, так и на других платформах, и по-прежнему применяются при использовании сочетаний клавиш Alt-кода .

В системах Windows есть две группы кодовых страниц: OEM и собственные кодовые страницы Windows («ANSI»). Кодовые страницы в обеих этих группах являются расширенными кодовыми страницами ASCII .

СОДЕРЖАНИЕ

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

Windows-125x серии

Кодовые страницы ANSI (официально называемые «кодовыми страницами Windows» после того, как Microsoft приняла неправильное употребление первого термина) используются для приложений, не поддерживающих Unicode (скажем, ориентированных на байты ), использующих графический пользовательский интерфейс в системах Windows. «ANSI» — неправильное название, потому что поведение не совсем соответствует стандарту ANSI и потому, что в эти 8-битные кодовые страницы включены некоторые кодировки, отличные от стандарта ANSI.

Большинство устаревших кодовых страниц «ANSI» имеют номера кодовых страниц в шаблоне 125x. Тем не менее, 874 (тайский) и восточноазиатские многобайтовые кодовые страницы ANSI ( 932 , 936 , 949 , 950 ), все из которых также используются в качестве кодовых страниц OEM, пронумерованы для соответствия аналогичным (но не идентичным) кодовым страницам IBM. кодировки. Хотя кодовая страница 1258 также используется как кодовая страница OEM, она является оригинальной для Microsoft, а не расширением существующей кодировки. IBM присвоила свои собственные, разные номера вариантам Microsoft, они приведены для справки в приведенных ниже списках, где это применимо.

Все кодовые страницы Windows 125x, а также 874 и 936, помечены Internet Assigned Numbers Authority (IANA) как « номер Windows», хотя «Windows-936» рассматривается как синоним « GBK ». Кодовая страница Windows 932 вместо этого помечена как «Windows-31J».

Кодовые страницы ANSI Windows, и особенно кодовая страница 1252 , были так названы, поскольку они якобы основывались на черновиках, представленных или предназначенных для ANSI. Однако ANSI и ISO не стандартизировали ни одну из этих кодовых страниц. Вместо этого они либо:

  • Надмножества стандартных наборов, таких как ISO 8859 и различных национальных стандартов (например, Windows-1252 и ISO-8859-1 ),
  • Основные их модификации (делающие их несовместимыми в разной степени, например, Windows-1250 и ISO-8859-2 )
  • Отсутствие параллельного кодирования (например, Windows-1257 против ISO-8859-4 ; ISO-8859-13 был введен намного позже). Кроме того, Windows-1251 не следует ни ISO-стандартизированному ISO-8859-5, ни преобладающему в то время KOI-8 .

Microsoft присвоила около двенадцати типографских и деловых символов (включая, в частности, знак евро , €) в CP1252 кодовые точки 0x80–0x9F, которые в ISO 8859 присвоены управляющим кодам C1 . Эти назначения также присутствуют во многих других кодовых страницах ANSI / Windows в тех же кодовых точках. Windows не использовала управляющие коды C1, поэтому это решение не имело прямого влияния на пользователей Windows. Однако при включении в файл, передаваемый на совместимую со стандартами платформу, такую ​​как Unix или MacOS, информация была невидимой и потенциально опасной.

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

В кодовые страницы OEM ( Original Equipment Manufacturer ) используются консольных Win32 приложений и виртуальной DOS , и может рассматриваться как пережиток от DOS и оригинальной IBM PC архитектуры. Отдельный набор кодовых страниц был реализован не только из-за совместимости, но и потому, что шрифты аппаратного обеспечения VGA (и потомков) предлагают кодирование символов рисования линий для совместимости с кодовой страницей 437 . Большинство кодовых страниц OEM имеют много общих кодовых точек, особенно для небуквенных символов, со второй (не ASCII) половиной CP437.

Типичная кодовая страница OEM во второй половине даже приблизительно не похожа ни на одну кодовую страницу ANSI / Windows. Тем не менее, две однобайтовые кодовые страницы фиксированной ширины (874 для тайского языка и 1258 для вьетнамского ) и четыре многобайтовых кодовых страницы CJK ( 932 , 936 , 949 , 950 ) используются как кодовые страницы OEM и ANSI. Кодовая страница 1258 использует комбинированные диакритические знаки , поскольку вьетнамский требует более 128 буквенно-диакритических комбинаций. Это отличается от VISCII , который заменяет некоторые управляющие коды C0 (т.е. ASCII).

История

Первоначально компьютерные системы и языки системного программирования не делали различия между символами и байтами : для сегментных сценариев, используемых в большей части Африки, Америки, Южной и Юго-Восточной Азии, Ближнего Востока и Европы, для символа требуется всего один байт. , но два или более байта необходимы для идеографических наборов, используемых в остальном мире. Впоследствии это привело к большой путанице. Программное обеспечение и системы Microsoft, предшествующие линейке Windows NT, являются примерами этого, поскольку они используют кодовые страницы OEM и ANSI, которые не делают различий.

С конца 1990-х годов программное обеспечение и системы приняли Unicode в качестве предпочтительного формата хранения; эта тенденция была улучшена благодаря широкому распространению XML , который обеспечивает более адекватный механизм для маркировки используемой кодировки. Последние продукты Microsoft и интерфейсы прикладных программ используют Unicode внутри, но многие приложения и API продолжают использовать кодировку по умолчанию «локали» компьютера при чтении и записи текстовых данных в файлы или стандартный вывод. Таким образом, файлы могут быть разборчивыми и разборчивыми в одной части мира, а моджибаке — в другой — неразборчивыми .

UTF-8, UTF-16

Microsoft решила принять 16-битную (двухбайтовую) систему UTF-16 для всех своих операционных систем, начиная с Windows NT. Этот метод однозначно кодирует все символы Unicode в базовой многоязычной плоскости и 32-битный (четырехбайтовый) код для других, но остальная часть отрасли ( Unix-подобные системы и Интернет) выбрали UTF-8 (который использует один байт для 7-битный набор символов ASCII , два или три байта для других символов в BMP и четыре байта для остатка). Начиная с Windows 10 версии 1803 , компьютеры с Windows можно настроить так, чтобы разрешить UTF-8 в качестве кодовой страницы «ANSI» и OEM.

Список

Существуют следующие кодовые страницы Windows:

Windows-125x серии

Все эти девять кодовых страниц представляют собой расширенные 8-битные кодировки SBCS ASCII и были разработаны Microsoft для использования в качестве кодовых страниц ANSI в Windows. Они широко известны по своим зарегистрированным в IANA именам как windows- , но иногда также называются cp «cp» для «кодовой страницы». Все они используются как кодовые страницы ANSI; Windows-1258 также используется в качестве кодовой страницы OEM.

Псевдоним (а) ANSI (неверное название)
Стандарт Стандарт кодирования WHATWG
Расширяется US-ASCII
Предшествует ISO 8859
Преемник Юникод
UTF-16 (в Win32 API)
Я БЫ Описание Связь с ISO 8859 или другими установленными кодировками
1250 Latin 2 / Центральноевропейская Аналогичен ISO-8859-2, но перемещает несколько символов, включая несколько букв.
1251 Кириллица Несовместим как с ISO-8859-5, так и с KOI-8 .
1252 Латиница 1 / западноевропейская Расширенный набор ISO-8859-1 (без элементов управления C1). Буквенный репертуар соответственно аналогичен CP850 .
1253 Греческий Аналогичен ISO 8859-7, но перемещает несколько символов, включая букву.
1254 турецкий Расширенный стандарт ISO 8859-9 (без элементов управления C1).
1255 иврит Практически надмножество ISO 8859-8 , но с двумя несовместимыми изменениями пунктуации.
1256 арабский Несовместимо с ISO 8859-6 ; кодовая страница OEM 708 скорее является расширенным набором ISO 8859-6 (ASMO 708).
1257 Балтийский Не ISO 8859-4 ; более поздний ISO 8859-13 тесно связан, но с некоторыми отличиями в доступной пунктуации.
1258 Вьетнамский (также OEM) Не связано с VSCII или VISCII , использует меньшее количество базовых символов с диакритическими знаками , сочетающих.

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

Они также основаны на ASCII. Большинство из них включены для использования в качестве кодовых страниц OEM; кодовая страница 874 также используется как кодовая страница ANSI.

  • 437 — IBM PC US, 8-битный расширенный ASCIISBCS . Кодировка основного встроенного шрифта видеокарт VGA, известная как OEM-US.
  • 708 — арабский, расширенный ISO 8859-6 (ASMO 708)
  • 720 — арабский, сохраняя символы рисования прямоугольников на их обычных местах
  • 737 — «MS-DOS греческий». Сохраняет все символы рисования прямоугольников. Популярнее, чем 869.
  • 775 — «MS-DOS Балтийский край»
  • 850 — «MS-DOS Latin 1». Полный (переработанный) репертуар ISO 8859-1 .
  • 852 — «MS-DOS Latin 2»
  • 855 — «Кириллица MS-DOS». В основном используется для южнославянских языков . Включает (реорганизованный) репертуар ISO-8859-5 . Не путать с cp866.
  • 857 — «MS-DOS Турецкий»
  • 858 — Западноевропейский со знаком евро
  • 860 — «Португальский MS-DOS»
  • 861 — «Исландский MS-DOS»
  • 862 — «Еврейский MS-DOS»
  • 863 — «MS-DOS Французская Канада»
  • 864 — арабский
  • 865 — «MS-DOS Nordic»
  • 866 — «MS-DOS Кириллица русская», cp866. Единственная кодовая страница исключительно OEM (а не ANSI или оба), включенная в качестве устаревшей кодировки в WHATWG Encoding Standard для HTML5 .
  • 869 — «MS-DOS Greek 2», IBM869. Полный (переработанный) репертуар ISO 8859-7 .
  • 874 — Тайский язык , также используемый в качестве кодовой страницы ANSI, расширяет ISO 8859-11 (и, следовательно, TIS-620 ) несколькими дополнительными символами из Windows-1252. Соответствует кодовой странице IBM 1162 (IBM-874 аналогична, но имеет другие расширения).

Многобайтовые кодовые страницы Восточной Азии

Часто они лишь частично совпадают с кодовыми страницами IBM с одним и тем же номером: кодовые страницы 932, 936 и 949 отличаются от кодовых страниц IBM с тем же номером, тогда как Windows-951, как часть кладжа , не связана с IBM-951. Эквивалентные кодовые страницы IBM приведены во втором столбце. Кодовые страницы 932, 936, 949 и 950/951 используются в качестве кодовых страниц как ANSI, так и OEM для рассматриваемых локалей.

Я БЫ Эквивалент IBM Язык Кодирование Использовать
932 943 Японский Shift JIS (вариант Microsoft) ANSI / OEM (Япония)
936 1386 Китайский упрощенный) ГБК ANSI / OEM (КНР, Сингапур)
949 1363 Корейский Единый код хангыль ANSI / OEM (Республика Корея)
950 1370, 1373 Китайский традиционный) Big5 (вариант Microsoft) ANSI / OEM (Тайвань, Гонконг)
951 5471 Китайский традиционный) Big5-HKSCS (изд. 2001 г.) ANSI / OEM (Гонконг, 98 / NT4 / 2000 / XP с патчем HKSCS)

Еще несколько многобайтовых кодовых страниц поддерживаются для декодирования или кодирования с использованием библиотек операционной системы, но не используются в качестве системного кодирования ни в одной локали.

Я БЫ Эквивалент IBM Язык Кодирование Использовать
1361 Корейский Джохаб (KS C 5601-1992, приложение 3) Преобразование
20000 964 Китайский традиционный) CNS 11643 Преобразование
20001 Китайский традиционный) TCA Преобразование
20002 Китайский традиционный) Big5 (вариант ETEN) Преобразование
20003 ? Китайский традиционный) IBM 5500 Преобразование
20004 Китайский традиционный) Телетекст Преобразование
20005 Китайский традиционный) Ван Преобразование
20932 , 51932 954 (примерно) Японский EUC-JP Преобразование
20936 , 51936 Китайский упрощенный) GB2312 Преобразование
20949 , 51949 Корейский Wansung (8-битный с ASCII, т.е. EUC-KR ) Преобразование

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

  • 37 — IBM EBCDIC США-Канада, 8-битный SBCS
  • 500 — латиница 1
  • 870 — IBM870
  • 875 — cp875
  • 1026 — EBCDIC Турецкий
  • 1047 — IBM01047 — Латиница 1
  • 1140 — IBM01141
  • 1141 — IBM01141
  • 1142 — IBM01142
  • 1143 — IBM01143
  • 1144 — IBM01144
  • 1145 — IBM01145
  • 1146 — IBM01146
  • 1147 — IBM01147
  • 1148 — IBM01148
  • 1149 — IBM01149
  • 20273 — EBCDIC Германия
  • 20277 — EBCDIC Дания / Норвегия
  • 20278 — EBCDIC Финляндия / Швеция
  • 20280 — EBCDIC Италия
  • 20284 — EBCDIC Латинская Америка / Испания
  • 20285 — EBCDIC Соединенное Королевство
  • 20290 — EBCDIC японский
  • 20297 — EBCDIC Франция
  • 20420 — EBCDIC арабский
  • 20423 — EBCDIC Греческий
  • 20424 — x-EBCDIC-KoreanExtended
  • 20833 — корейский
  • 20838 — EBCDIC тайский
  • 20924 — IBM00924 — IBM EBCDIC Latin 1 / Открытая система (1047 + символ евро)
  • 20871 — исландский EBCDIC
  • 20880 — EBCDIC кириллица
  • 20905 — EBCDIC Турецкий
  • 21025 — EBCDIC кириллица
  • 21027 — японский EBCDIC (неполный, не рекомендуется)

Кодовые страницы, связанные с Unicode

  • 1200 — Юникод (BMP по ISO 10646, UTF-16LE ). Доступно только для управляемых приложений
  • 1201 — Юникод ( UTF-16BE ). Доступно только для управляемых приложений
  • 12000 — UTF-32 . Доступно только для управляемых приложений
  • 12001 — UTF-32 . С прямым порядком байтов. Доступно только для управляемых приложений
  • 65000 — Юникод ( UTF-7 )
  • 65001 — Юникод ( UTF-8 )

Кодовые страницы совместимости с Macintosh

  • 10000 — Apple Macintosh Роман
  • 10001 — Apple Macintosh на японском языке
  • 10002 — Apple Macintosh Chinese (традиционный) (BIG-5)
  • 10003 — Apple Macintosh корейский
  • 10004 — Apple Macintosh на арабском языке
  • 10005 — Apple Macintosh на иврите
  • 10006 — Apple Macintosh греческий
  • 10007 — кириллица Apple Macintosh
  • 10008 — Apple Macintosh китайский (упрощенный) (GB 2312)
  • 10010 — Apple Macintosh на румынском языке
  • 10017 — Apple Macintosh украинский
  • 10021 — Apple Macintosh Thai
  • 10029 — Apple Macintosh Roman II / Центральная Европа
  • 10079 — Исландский Apple Macintosh
  • 10081 — Apple Macintosh Турецкий
  • 10082 — Apple Macintosh хорватский

Кодовые страницы ISO 8859

  • 28591 — ISO-8859-1 — Latin-1 (эквивалент IBM: 819)
  • 28592 — ISO-8859-2 — Latin-2
  • 28593 — ISO-8859-3 — Latin-3 или южноевропейский
  • 28594 — ISO-8859-4 — Latin-4 или североевропейский
  • 28595 — ISO-8859-5 — Латиница / кириллица
  • 28596 — ISO-8859-6 — Латинский / арабский
  • 28597 — ISO-8859-7 — Латинский / греческий
  • 28598 — ISO-8859-8 — Латинский / Иврит
  • 28599 — ISO-8859-9 — Latin-5 или турецкий
  • 28600 — ISO-8859-10 — Latin-6
  • 28601 — ISO-8859-11 — Латинский / тайский
  • 28602 — ISO-8859-12 — зарезервировано для латиницы / деванагари, но заброшено (не поддерживается)
  • 28603 — ISO-8859-13 — Latin-7 или Baltic Rim
  • 28604 — ISO-8859-14 — Latin-8 или кельтский
  • 28605 — ISO-8859-15 — Latin-9
  • 28606 — ISO-8859-16 — Latin-10 или Юго-Восточная Европа
  • 38596 — ISO-8859-6- I — Латинский / арабский (логический двунаправленный порядок)
  • 38598 — ISO-8859-8- I — Латинский / иврит (логический двунаправленный порядок)

Кодовые страницы ITU-T

  • 20105 — 7-битный IA5IRV (западноевропейский)
  • 20106 — 7-битный IA5 немецкий (DIN 66003)
  • 20107 — 7-битный IA5 шведский (SEN 850200 C)
  • 20108 — 7-битный норвежский IA5 (NS 4551-2)
  • 20127 — 7-битный US-ASCII
  • 20261 — T.61 (T.61-8bit)
  • 20269 — ISO-6937

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

  • 20866 — Русский — КОИ8-Р
  • 21866 — украинский — КОИ8-У (или КОИ8-РУ в некоторых вариантах)

Проблемы, возникающие при использовании кодовых страниц

Microsoft настоятельно рекомендует использовать Unicode в современных приложениях, но многие приложения или файлы данных по-прежнему зависят от устаревших кодовых страниц.

  • Программы должны знать, какую кодовую страницу использовать, чтобы правильно отображать содержимое файлов (до Unicode). Если программа использует неправильную кодовую страницу, она может отображать текст как моджибаке .
  • Используемая кодовая страница может отличаться на разных машинах, поэтому файлы (до Unicode), созданные на одной машине, могут быть нечитаемыми на другой.
  • Данные часто неправильно помечены кодовой страницей или вообще не помечены, что затрудняет определение правильной кодовой страницы для чтения данных.
  • Эти кодовые страницы Microsoft в разной степени отличаются от некоторых стандартов и реализаций других поставщиков. Это не проблема Microsoft как таковая , как это происходит со всеми поставщиками, но отсутствие согласованности делает взаимодействие с другими системами в некоторых случаях ненадежным.
  • Использование кодовых страниц ограничивает набор символов, которые могут использоваться.
  • Символы, выраженные в неподдерживаемой кодовой странице, могут быть преобразованы в вопросительные знаки (?) Или другие заменяющие символы или в более простую версию (например, удаление диакритических знаков из буквы). В любом случае исходный персонаж может быть утерян.
Читайте также:  Removing java from linux
Оцените статью