MIME / IANA | Windows-31J |
---|---|
Alias(es) | CP943C |
Language(s) | Японский |
Standard | WHATWG Encoding Standard (как "Shift_JIS") |
Классификация | Расширенный ASCII, кодировка переменной ширины, Кодировка CJK |
Расширяет | Shift_JIS |
|
кодовая страница Microsoft Windows 932 (сокращенно MS932, Windows-932 или двусмысленно CP932 ), также называемый Windows-31J среди других имен (см. § Терминология ниже), это кодовая страница Microsoft Windows для японского языка, который является расширенным вариантом Shift JIS Japanese кодировка символов. Он содержит стандартные 7-битные коды ASCII, а японские символы обозначаются старшим битом первого байта, установленным в 1. Некоторым кодовым точкам на этой странице требуется второй байт, поэтому символы используют либо 8, либо 16 бит для кодирования.
IBM предлагает такие же расширенные двухбайтовые коды в своей кодовой странице 943 (IBM-943 или CP943 ), который представляет собой комбинацию однобайтовой кодовой страницы 897 и двухбайтовой кодовой страницы 941 .
Windows-31J является наиболее часто используемой не- UTF-8 / Японская кодировка Unicode в Интернете. На самом деле Shift JIS - это гораздо более заявленная кодировка, но по стандартам W3C / WHATWG HTML кодировки объявлены одинаковыми, и хотя последнее имя используется в стандартах, которые определены для декодирования первого. См. Статистику на странице Shift JIS.
Вариант Microsoft Shift JIS в Microsoft Windows известен просто как «Кодовая страница 932», однако это неоднозначно, поскольку кодовая страница IBM 932, а также вариант Shift JIS, не имеет двухбайтовых расширений поставщика, выбранных NEC и NEC, которые присутствуют в варианте Microsoft (хотя оба включают расширения IBM) и сохраняет код 1978 г. порядок JIS X 0208.
Кодовая страница IBM 943 (или "IBM-943") включает те же двухбайтовые коды, что и кодовая страница 932 Windows. Версия Microsoft близко соответствует кодировке, называемой ibm -943_P15A-2003 (с псевдонимами, включая CP943C и Windows-932 ) в Международных компонентах для Unicode (ICU). Существует также вторая кодировка ICU с именем ibm-943_P130-1999, в которой используются разные однобайтовые сопоставления, которые более точно соответствуют определениям кодовых страниц IBM. (Подробнее см. § Различия однобайтовых символов ниже.)
Кодовая страница Windows 932 зарегистрирована в IANA как Windows-31J . Метка «Windows-31J» принадлежит IANA и не признана Microsoft, которая исторически использовала вместо нее «shift_jis». Стандарт кодирования W3C / WHATWG, используемый HTML5, рассматривает метку «shift_jis » как взаимозаменяемые с «windows-31j» с целью "совместима с развернутым контентом" и соответствует кодовой странице Windows 932 (включая "ранее проприетарные расширения от IBM и NEC").
Кодовая страница Windows 932 также называется MS_Kanji, хотя IANA рассматривать MS_Kanji как псевдоним для стандартного Shift JIS. Python, например, использует метку MS-Kanji
(или cp932
) для Windows-932 и метку Shift_JIS
(или sjis
) для JIS X 0208-определенного Shift JIS без распознавания метки Windows-31J
.
В японских версиях В Windows эта кодовая страница называется «ANSI», поскольку это 8-битная кодировка операционной системы по умолчанию, хотя ANSI не участвовал в ее определении.
Windows-31J часто ошибочно принимают за стандартный Shift JIS (как определено в JIS X 0208 : 1997 Приложение 1): хотя различие важно для программистов, желающих избежать моджибаке.
В дополнение к стандартному JIS X 0201 : 1997 и JIS X 0208 : символы 1997 года, Windows-31J включает несколько расширений JIS X 0208, а именно «специальные символы NEC (строка 13), выбор NEC расширений IBM (строки с 89 по 92) и расширения IBM ( Строки с 115 по 119) », в дополнение к выделению некоторого пространства кодирования для определения конечного пользователя. Это также отличается от IBM-932, который не включает расширения NEC или выбор NEC.
Некоторые из этих представлений впоследствии использовались для разных символов в JIS X 0213 и Shift JIS-2004. Например, сравните строку 89 в JIS X 0213 (начало 硃, 硎, 硏…) со строкой 89, используемой JIS X 0208 с расширениями IBM / NEC (начало 纊, 褜, 鍈…). Следовательно, Shift JIS-2004 несовместима с Windows-31J.
В дополнение к вышесказанному, Microsoft использует другое (но визуально похожее) отображение Unicode для нескольких двухбайтовых знаков пунктуации по сравнению со стандартным Shift JIS, например, волновой тире является отображается на U + FF5E, а не на U + 301C, за которым следует ibm-943_P15A-2003, но не ibm-943_P130-1999, и с использованием другого сопоставления для двухбайтовой обратной косой черты.
Windows-932 включает стандартные 7-битные ASCII сопоставления для однобайтовых последовательностей со старшим битом, установленным в 0. Следовательно, коды 0x5C и 0x7E отображаются в Unicode как U + 005C REVERSE SOLIDUS (\
, обратная косая черта ) и U + 007E TILDE (~
) соответственно, как они находятся в ASCII (ISO-646 -НАС). Это также делается в стандарте кодирования W3C / WHATWG. Напротив, 0x5C отображается в U + 00A5 YEN SIGN (¥
) в ISO-646-JP и, следовательно, в JIS X 0201, из которых стандартный Shift JIS - это расширение. Соответственно, Windows-31J избегает дублирования кодирования обратной косой черты, отображая двойной байт 0x815F в U + FF3C FULLWIDTH REVERSE SOLIDUS, тогда как стандартный Shift JIS отображает его в U + 005C.
Однако 0x5C в Windows-932 является тем не менее в определенных контекстах считается знаком йены. По этой причине во многих японских шрифтах U + 005C отображается как символ йены, который обычно представлен как U + 00A5, а не как обратная косая черта согласно предложенному рендерингу Unicode. U + 00A5 лучше всего соответствует одностороннему отображению на 0x5C в Windows-932. Однако код 0x5C в Windows-932 ведет себя как обратная косая черта (обратная косая черта) во всех отношениях (например, в путях к файлам в системах Windows), кроме того, как он отображается некоторыми шрифтами и документацией Microsoft для Windows- 932 отображает 0x5C как обратную косую черту. Это сопоставление соответствует кодировке с именем «ibm-943_P15A-2003» в Международных компонентах для Unicode (ICU), за исключением незначительного переупорядочения нескольких управляющих символов C0.
IBM-943, например IBM-932, является расширенным набором однобайтовой кодовой страницы 897, которая отображает 0x5C в символ йены (¥
) и 0x7E в верхнюю черту ( ‾
), за ним следует кодировка с именем «ibm-943_P130-1999» в ICU. Кодовая страница 897 (и, следовательно, также IBM-943 и IBM-932) также добавляет однобайтовые символы рисования прямоугольников, заменяющие определенные управляющие символы C0, однако они могут по-прежнему рассматриваться как управляющие символы в зависимости от контекста, и сопоставляются с управляющими символами в ICU.
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
.