Кодовая страница 932 (Microsoft Windows)

редактировать
Японская кодировка символов Windows / вариант Shift JIS.
Кодовая страница Windows 932
MIME / IANAWindows-31J
Alias(es)CP943C
Language(s)Японский
StandardWHATWG Encoding Standard (как "Shift_JIS")
КлассификацияРасширенный ASCII, кодировка переменной ширины, Кодировка CJK
РасширяетShift_JIS
  • v
  • t

кодовая страница 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.

Содержание
  • 1 Терминология
  • 2 Отличия от стандартного Shift JIS
    • 2.1 Различия в двухбайтовых символах
    • 2.2 Различия в однобайтовых символах
  • 3 Расположение
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки
    • 6.1 Связанные с Microsoft
    • 6.2 Связанные с IBM
Терминология

Вариант 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 не участвовал в ее определении.

Отличия от стандартного Shift JIS

Windows-31J часто ошибочно принимают за стандартный Shift JIS (как определено в JIS X 0208 : 1997 Приложение 1): хотя различие важно для программистов, желающих избежать моджибаке.

двухбайтовых различий символов

диаграмма Эйлера сравнение репертуаров JIS X 0208, JIS X 0212, JIS X 0213, Windows-31J, стандартный репертуар Microsoft и Unicode

В дополнение к стандартному 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.

Макет
Первый байт
0123456789ABCDEF
0
1
2!"#$%'()*+,-./
30123456789:;<=>?
4@ABCDEFGHIJKLMNO
5PQRSTUVWXYZ[\]^_
6`abcdefghijklmno
7pqrstuvwxyz{|}~
8
9
A
Bソ
C
D
E
F
Второй байт
0123456789ABCDEF
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Непечатаемый символ ASCII
символ ASCII
символ ASCII, может быть заменен локализованными шрифтами
Однобайтовая катакана половинной ширины
Первый байт двухбайтового символа, используемого JIS X 0208
Первый байт двухбайтового символа расширения NEC или выбранного NEC
Не используется как первый байт, нераспределенное пространство в JIS X 0208
Первый байт двухбайтового символа расширения IBM
Первый байт двухбайтового определяемого пользователем символа IBM
Не используется в качестве первого байта, лучше всего подходит отображается как один байт в область частного использования
Второй байт двухбайтового символа, первая половина последовательности JIS которого нечетна
Второй байт двойного -байтный символ, первая половина последовательности JIS которого была четной
Не использовался в качестве второго байта двухбайтового символа

.

См. также
Ссылки
Внешние ссылки

Связано с Microsoft

связанная с IBM

Последняя правка сделана 2021-05-15 13:41:12
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте