Jump to content

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

(Перенаправлено с Windows-932 )
Кодовая страница Windows 932
МИМ / IANA Windows-31J
Псевдоним(а) CP943C
Язык(и) японский
Стандартный Стандарт кодирования WHATWG (как «Shift_JIS») [1]
Классификация Расширенный ASCII , [а] кодировка переменной ширины , кодировка CJK
Расширяет Shift_HE
  1. ^ Не в самом строгом смысле этого слова, поскольку байты ASCII могут отображаться как байты следа.

Кодовая страница Microsoft Windows 932 (сокращенно MS932 , [2] [3] Windows-932 [3] или неоднозначно CP932 [4] ), также называемая Windows-31J среди других названий (см. § Терминологию ниже), представляет собой Microsoft Windows кодовую страницу для японского языка , которая представляет собой расширенный вариант Shift JIS японской кодировки символов . Он содержит стандартные 7-битные коды ASCII , а японские символы обозначаются старшим битом первого байта, равным 1. Для некоторых кодовых точек на этой странице требуется второй байт, поэтому для кодирования символов используются либо 8, либо 16 бит.

IBM предлагает те же расширенные двухбайтовые коды в своей кодовой странице 943 ( IBM-943 или CP943 ), [5] который представляет собой комбинацию однобайтовой кодовой страницы 897 и двухбайтовой кодовой страницы 941 . [6]

Windows-31J — наиболее часто используемая японская кодировка, отличная от UTF-8 /Unicode, в Интернете. Однако многие люди и пакеты программного обеспечения, включая библиотеки Microsoft, [7] объявите кодировку Shift JIS для данных Windows-31J, хотя она включает в себя некоторые дополнительные символы, а некоторые из существующих символов по-другому отображаются в Unicode . Это привело к тому, что стандарт HTML WHATWG стал обрабатывать метки кодировки. shift_jis и windows-31j взаимозаменяемы и используют вариант Windows для кодера и декодера «Shift_JIS». [1]

Терминология

[ редактировать ]

Вариант Microsoft Shift JIS известен просто как «Кодовая страница 932» в Microsoft Windows, однако это неоднозначно, поскольку кодовая страница IBM 932 , а также вариант Shift JIS, не имеет двухбайтовых расширений NEC и выбранных NEC, которые присутствуют в Вариант Microsoft (хотя оба включают расширения IBM) сохраняет порядок JIS X 0208 1978 года. [5]

Кодовая страница IBM 943 (или «IBM-943») включает в себя те же двухбайтовые коды, что и кодовая страница Windows 932. [5] Версия Microsoft близко соответствует кодировке, называемой ibm-943_P15A-2003 (с псевдонимами, включая CP943C и Windows-932 ). [3] в области международных компонентов для Unicode (ICU). Существует также вторая кодировка ICU под названием ibm-943_P130-1999 , [8] который использует различные однобайтовые сопоставления, которые более точно соответствуют определениям кодовых страниц IBM. (Подробнее см . § Различия в однобайтовых символах ниже.)

Кодовая страница Windows 932 зарегистрирована в IANA как Windows-31J . [9] Метка «Windows-31J» принадлежит IANA и не распознается Microsoft, которая исторически использовала вместо нее «shift_jis». [7] Стандарт кодирования W3C / WHATWG , используемый HTML5, рассматривает метку « shift_jis » как взаимозаменяемую с «windows-31j» с целью обеспечения «совместимости с развернутым контентом». [10] и соответствует кодовой странице Windows 932 [1] (включая «ранее проприетарные расширения IBM и NEC»). [11]

Кодовая страница Windows 932 также называется MS_Kanji . [3] [12] хотя IANA рассматривает MS_Kanji как псевдоним стандартного Shift JIS. [9] Python , например, использует метку MS-Kanji (или cp932) для Windows-932 и метка Shift_JIS (или sjis) для JIS X 0208, определенного Shift JIS, без распознавания Windows-31J этикетка. [12]

В японских выпусках Windows эта кодовая страница называется «ANSI» , поскольку это 8-битная кодировка операционной системы по умолчанию, хотя ANSI не участвовал в ее определении.

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

[ редактировать ]

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

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

[ редактировать ]
Диаграмма Эйлера, сравнивающая репертуары 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), выбор расширений IBM NEC (строки с 89 по 92), и расширения IBM (строки с 115 по 119)", [9] в дополнение к выделению некоторого пространства для кодирования для определения конечного пользователя . [13] Это также отличается от IBM-932 , который не включает расширения NEC или выбор NEC. [5]

Расширения IBM были разработаны для кодирования символов из японского репертуара IBM DBCS-Host , который изначально отсутствовал в JIS X 0208; Знак «потому что» ∵ и знак «не» ¬ были позже добавлены в сам JIS X 0208 в 1983 году, и Microsoft включает их в местоположения расширений, а также в их местоположения 1983 года. [14] Расширения NEC также кодируют весь репертуар IBM, но в отдельном расширении в сетке 94×94 JIS X 0208 (в строках 89–92, помимо символов, уже включенных в строку 13 NEC ), вместо использования кодов Shift JIS. за пределами диапазона JIS X 0208; Кодовая страница Windows 932 включает эти 388 символов в обоих местах. [14] В результате знаки «потому что» и «не» кодируются трижды.

Некоторые из этих представлений впоследствии использовались для разных символов в JIS X 0213 и Shift JIS-2004 . Например, сравните строку 89 в JIS X 0213 (начинающаяся с 硃, 硎, 硏…). [15] до строки 89, используемой в JIS X 0208 с расширениями IBM/NEC (начинается с 纊, 褜, 鍈…). [16] Следовательно, Shift JIS-2004 несовместим с Windows-31J.

В дополнение к вышесказанному Microsoft использует другое (но визуально похожее) сопоставление Unicode для нескольких двухбайтовых знаков пунктуации по сравнению со стандартным Shift JIS, например, волновое тире отображается на U + FF5E, а не на U + 301C, [17] за которым следует IBM-943_P15A-2003 [18] но не IBM-943_P130-1999, [19] и использование другого сопоставления для двухбайтовой обратной косой черты. [17]

Различия в однобайтовых символах

[ редактировать ]

Windows-932 включает стандартные 7-битные сопоставления ASCII для однобайтовых последовательностей со старшим битом, равным 0. Следовательно, коды 0x5C и 0x7E отображаются в Unicode как U + 005C REVERSE SOLIDUS ( \, обратная косая черта ) и U+007E ТИЛЬДА ( ~) соответственно, [20] [21] [17] как они есть в ASCII ( ISO-646 -US). Это также осуществляется стандартом кодирования W3C/WHATWG. [22] Напротив, 0x5C отображается в U+00A5 ЗНАК ЙЕНЫ ( ¥) в ISO-646-JP и, следовательно, в JIS X 0201 которого является стандарт Shift JIS , расширением . Соответственно, Windows-31J избегает дублирования кодирования обратной косой черты, сопоставляя двойной байт 0x815F с U+FF3C FULLWIDTH REVERSE SOLIDUS, тогда как стандартный Shift JIS сопоставляет его с U+005C. [17]

Однако 0x5C в Windows-932, тем не менее, в определенных контекстах считается знаком иены. [23] По этой причине во многих японских шрифтах U+005C отображается как символ иены, который обычно обозначается как U+00A5, а не как обратная косая черта согласно предложенному способу отображения Unicode. U+00A5 наилучшим образом отображается в одностороннем порядке на 0x5C в Windows-932. Однако код 0x5C в Windows-932 ведет себя как обратная косая черта (обратная косая черта) во всех отношениях (например, в путях к файлам в системах Windows), кроме того, как он отображается некоторыми шрифтами. [23] а в документации Microsoft для Windows-932 0x5C отображается в виде обратной косой черты. [21] Это отображение [20] соответствует кодировке «ibm-943_P15A-2003» в International Components for Unicode (ICU), [3] за исключением незначительного изменения порядка нескольких управляющих символов C0 .

IBM-943, как и IBM-932 , [5] является расширенным набором однобайтовой кодовой страницы 897 , [6] который сопоставляет 0x5C с символом иены ( ¥) и 0x7E для надстрочной линии ( ), [24] за этим следует кодировка с именем «ibm-943_P130-1999» в ICU. [8] Кодовая страница 897 (и, следовательно, также IBM-943 и IBM-932) также добавляет однобайтовые символы рисования прямоугольников, заменяющие определенные управляющие символы C0 . [24] однако они все равно могут рассматриваться как управляющие символы в зависимости от контекста. [25] и сопоставляются с управляющими символами в отделении интенсивной терапии. [8]

Первый байт
0 1 2 3 4 5 6 7 8 9 А Б С Д И Ф
0
1
2 ! " # $ % & ' ( ) * + , - . /
3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4 @ А Б С Д И Ф Г ЧАС я Дж К л М Н ТО
5 П вопрос Р С Т В V В Х И С [ \ ] ^ _
6 ` а б с д и ж г час я дж к л м н тот
7 п д р с т в v В х и С { | } ~
8
9
А
Б с А Хороший Э Ой Ка ко Се
С Та Чи Те К На Н Нет Не Нет Ха Привет Фу Он Хо Ма
Д Ми М Мне Мо Да Ра Ри Ле Лес Ро Н
И
Ф
Второй байт
0 1 2 3 4 5 6 7 8 9 А Б С Д И Ф
0
1
2
3
4
5
6
7
8
9
А
Б
С
Д
И
Ф
 
Непечатаемый символ ASCII
ASCII-символ
Символ ASCII, может быть заменен локализованными шрифтами.
Однобайтовая катакана половинной ширины
Первый байт двухбайтового символа, используемый JIS X 0208.
Первый байт двухбайтового символа расширения NEC или символа расширения, выбранного NEC.
Не используется в качестве первого байта, нераспределенное пространство в JIS X 0208.
Первый байт двухбайтового символа расширения IBM
Первый байт двухбайтового определяемого пользователем символа, назначенного IBM.
Не используется в качестве первого байта, лучше всего отображается как одиночный байт в область частного использования.
Второй байт двухбайтового символа, первая половина последовательности JIS которого была нечетной.
Второй байт двухбайтового символа, первая половина последовательности JIS которого была четной.
Не используется в качестве второго байта двухбайтового символа.


См. также

[ редактировать ]
  1. ^ Перейти обратно: а б с Фонд Мозилла . «Заметные отличия от именования IANA» . Создайте файлcoding_rs . документы.рс.
  2. ^ Сивонен, Анри. «Ошибка 27851 — Добавить MS932 в качестве метки Shift_JIS» . w3.org Система отслеживания ошибок .
  3. ^ Перейти обратно: а б с д и «Проводник конвертеров: ibm-943_P15A-2003 (псевдоним windows-31j)» . Международные компоненты для Unicode: демонстрация ICU .
  4. ^ Аоки, Осаму. «Глава 11. Преобразование данных» . Справочник по Дебиану . Дебиан.
  5. ^ Перейти обратно: а б с д и «ИБМ-943 и IBM-932» . Центр знаний IBM . ИБМ.
  6. ^ Перейти обратно: а б «Идентификаторы кодированных наборов символов — CCSID 943» . IBM Глобализация . ИБМ. Архивировано из оригинала 15 марта 2016 г.
  7. ^ Перейти обратно: а б «Свойство Encoding.WindowsCodePage — .NET Framework (текущая версия)» . MSDN . Майкрософт.
  8. ^ Перейти обратно: а б с «Проводник конвертеров: IBM-943_P130-1999» . Международные компоненты для Unicode: демонстрация ICU .
  9. ^ Перейти обратно: а б с «Наборы символов» . ИАНА.
  10. ^ ван Кестерен, Энн . «4.2. Названия и метки» . Стандарт кодирования . ЧТОРГ.
  11. ^ ван Кестерен, Энн . «5. Индексы (§ Индекс jis0208)» . Стандарт кодирования . ЧТОРГ.
  12. ^ Перейти обратно: а б «7.2.3. Стандартные кодировки» . Документация Python 3.6 . Фонд программного обеспечения Python . Проверено 19 сентября 2017 г.
  13. ^ Каплан, Майкл С. (26 мая 2007 г.). «PUA вне Unicode» . Разбираемся во всем .
  14. ^ Перейти обратно: а б Лунде, Кен (2009). «Приложение E: Стандарты набора символов поставщика» (PDF) . Обработка информации CJKV: китайские, японские, корейские и вьетнамские вычисления (2-е изд.). Севастополь, Калифорния : О'Рейли . ISBN  978-0-596-51447-1 .
  15. ^ Японский комитет промышленных стандартов (13 апреля 2004 г.). Набор японских графических символов для обмена информацией, плоскость 1 (PDF) . ITSCJ/ IPSJ . ИСО-ИК -233.
  16. ^ ван Кестерен, Энн . «Индексная визуализация jis0208» . Стандарт кодирования . ЧТОРГ.
  17. ^ Перейти обратно: а б с д «Неоднозначности при преобразовании из Shift-JIS в Unicode (ненормативный)» . XML-профиль для Японии . W3C.
  18. ^ «Проводник конвертеров: ibm-943_P15A-2003: стартовый байт 0x81» . Демонстрация отделения интенсивной терапии . Международные компоненты для Unicode.
  19. ^ «Проводник конвертеров: ibm-943_P130-1999: стартовый байт 0x81» . Демонстрация отделения интенсивной терапии . Международные компоненты для Unicode.
  20. ^ Перейти обратно: а б «CP932.TXT» . Консорциум Юникод.
  21. ^ Перейти обратно: а б «Старший байт NULL — Кодовая страница 932» . Майкрософт.
  22. ^ ван Кестерен, Энн . «12.3.1. Декодер Shift_JIS» . Стандарт кодирования . ЧТОРГ. Если byte — это байт ASCII или 0x80, верните кодовую точку, значение которой — байт.
  23. ^ Перейти обратно: а б Каплан, Майкл С. (17 сентября 2005 г.). «Когда обратная косая черта не является обратной косой чертой?» . Разбираемся во всем .
  24. ^ Перейти обратно: а б «CP00897.txt» . ИБМ.
  25. ^ «Идентификаторы кодовых страниц — CP 00897» . IBM Глобализация . ИБМ. Архивировано из оригинала 17 марта 2016 г.
[ редактировать ]
[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9bc3fb3c327ae65049cdecae1416bec9__1706608500
URL1:https://arc.ask3.ru/arc/aa/9b/c9/9bc3fb3c327ae65049cdecae1416bec9.html
Заголовок, (Title) документа по адресу, URL1:
Code page 932 (Microsoft Windows) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)