Codepage 932 (Microsoft Windows) - Code page 932 (Microsoft Windows)

Windows Codepage 932
MIME / IANA Windows-31J
Alias ​​(es) CP943C
Sprachen) japanisch
Standard WHATWG-Codierungsstandard (als "Shift_JIS")
Einstufung Erweitertes ASCII , Codierung mit variabler Breite , CJK-Codierung
Erweitert Shift_JIS

Microsoft Windows-Codepage 932 (abgekürzt MS932 , Windows-932 oder mehrdeutig CP932 ), unter anderem auch Windows- 31J genannt (siehe § Terminologie unten), ist die Microsoft Windows -Codepage für die japanische Sprache , die eine erweiterte Variante der Verschieben Sie die japanische JIS- Zeichenkodierung . Es enthält Standard-7-Bit- ASCII- Codes, und japanische Zeichen werden durch das hohe Bit des ersten Bytes angezeigt, das auf 1 gesetzt ist. Einige Codepunkte auf dieser Seite erfordern ein zweites Byte, sodass Zeichen entweder 8 oder 16 Bit für die Codierung verwenden.

IBM bietet auf seiner Codepage 943 ( IBM-943 oder CP943 ) dieselben erweiterten Doppelbyte -Codes an. Dies ist eine Kombination aus der Einzelbyte - Codepage 897 und der Doppelbyte - Codepage 941 .

Windows-31J ist die am häufigsten verwendete japanische Nicht- UTF-8 / Unicode-Codierung im Web. Tatsächlich ist Shift JIS die viel deklariertere Codierung, aber nach W3C / WHATWG-HTML-Standards werden die Codierungen gleich deklariert, und während der letztere Name in den Standards verwendet wird, wird er zum Decodieren der ersteren definiert. Siehe Shift - JIS - Seite für die Statistik.

Terminologie

Die Shift JIS-Variante von Microsoft wird unter Microsoft Windows einfach als "Codepage 932" bezeichnet. Dies ist jedoch nicht eindeutig, da die Codepage 932 von IBM , während auch bei einer Shift JIS-Variante die von NEC und NEC ausgewählten Doppelbyte-Herstellererweiterungen fehlen Microsofts Variante (obwohl beide die IBM-Erweiterungen enthalten) und behält die 1978er Bestellung von JIS X 0208 bei.

Die IBM Codepage 943 (oder "IBM-943") enthält dieselben Doppelbyte- Codes wie die Windows-Codepage 932. Die Microsoft-Version entspricht genau der Codierung, die als ibm-943_P15A-2003 (mit Aliasnamen wie CP943C und Windows-932 ) bezeichnet wird Internationale Komponenten für Unicode (ICU). Es gibt auch eine zweite ICU-Codierung mit dem Namen ibm-943_P130-1999 , die verschiedene Einzelbyte-Zuordnungen verwendet , die den IBM Codepage-Definitionen besser entsprechen. ( Einzelheiten finden Sie unten in § Einzelbyte-Zeichenunterschieden .)

Die Windows-Codepage 932 ist bei der IANA als Windows-31J registriert . Das Label "Windows-31J" ist von IANA und wird von Microsoft nicht erkannt, das in der Vergangenheit stattdessen "shift_jis" verwendet hat. Der von HTML5 verwendete W3C / WHATWG- Codierungsstandard behandelt die Bezeichnung " shift_jis " austauschbar mit "windows-31j" mit der Absicht, "mit bereitgestellten Inhalten kompatibel" zu sein, und entspricht der Windows-Codepage 932 (einschließlich der "ehemals proprietären Erweiterungen von IBM und NEC" ").

Die Windows-Codepage 932 wird auch als MS_Kanji bezeichnet , obwohl IANA MS_Kanji als Alias ​​für Standard-Shift-JIS behandelt. Python verwendet beispielsweise die Bezeichnung MS-Kanji (oder cp932 ) für Windows-932 und die Bezeichnung Shift_JIS (oder sjis ) für JIS X 0208-definiertes Shift-JIS, ohne die Windows-31J Bezeichnung zu erkennen .

In japanischen Windows-Editionen wird diese Codepage als "ANSI" bezeichnet , da es sich um die Standard-8-Bit-Codierung des Betriebssystems handelt, obwohl ANSI nicht an der Definition beteiligt war.

Unterschiede zum Standard-Shift-JIS

Windows-31J wird häufig mit Standard-Shift-JIS verwechselt (wie in JIS X 0208 : 1997, Anhang 1 definiert): Obwohl ähnlich, ist die Unterscheidung für Computerprogrammierer von Bedeutung, die Mojibake vermeiden möchten .

Doppelbyte-Zeichenunterschiede

Euler-Diagramm zum Vergleich der Repertoires von JIS X 0208 , JIS X 0212 , JIS X 0213 , Windows-31J, dem Microsoft-Standardrepertoire und Unicode

Zusätzlich zu den Standardzeichen JIS X 0201 : 1997 und JIS X 0208 : 1997 enthält Windows-31J mehrere JIS X 0208-Erweiterungen, nämlich " NEC-Sonderzeichen (Zeile 13), NEC-Auswahl von IBM-Erweiterungen (Zeilen 89 bis 92), und IBM-Erweiterungen (Zeilen 115 bis 119) ", zusätzlich zum Festlegen von Codierungsspeicherplatz für die Endbenutzerdefinition . Dies unterscheidet sich auch von IBM-932 , das weder die NEC-Erweiterungen noch die NEC-Auswahl enthält.

Einige dieser Darstellungen wurden später von JIS X 0213 und Shift JIS-2004 für verschiedene Zeichen verwendet . Vergleichen Sie beispielsweise Zeile 89 in JIS X 0213 (Beginn 硃, 硎, 硏…) mit Zeile 89, wie sie von JIS X 0208 mit IBM / NEC-Erweiterungen (Anfang 纊, 褜, 鍈…) verwendet wird. Folglich ist Shift JIS-2004 nicht mit Windows-31J kompatibel.

Zusätzlich zu den oben genannten, verwendet Microsoft verschiedenen (aber optisch ähnlich) Unicode - Mapping für mehrere Doppel-Byte - Interpunktionszeichen im Vergleich zu Standard - Shift - JIS, wie beispielsweise die Wellen dash wird zu U + FF5E kartiert anstatt U + 301C, die durch anschließt ibm-943_P15A-2003, jedoch nicht ibm-943_P130-1999, und Verwendung einer anderen Zuordnung für den Doppelbyte-Backslash.

Einzelbyte-Zeichenunterschiede

Windows-932 enthält Standard-7-Bit- ASCII- Zuordnungen für Einzelbyte-Sequenzen, bei denen das High-Bit auf 0 gesetzt ist. Daher werden die Codes 0x5C und 0x7E als U + 005C REVERSE SOLIDUS ( \ , der Backslash ) und U + 007E TILDE (( + Backslash )) Unicode zugeordnet ~ ) jeweils wie in ASCII ( ISO-646 -US). Dies erfolgt ebenfalls durch den W3C / WHATWG-Codierungsstandard. Im Gegensatz dazu wird 0x5C in ISO-646-JP und folglich in JIS X 0201 , dessen Standard- Shift-JIS eine Erweiterung ist, auf U + 00A5 YEN SIGN ( ¥ ) abgebildet . Entsprechend vermeidet Windows-31J die doppelte Codierung des Backslashs, indem das Doppelbyte 0x815F U + FF3C FULLWIDTH REVERSE SOLIDUS zugeordnet wird, während Standard-Shift-JIS es U + 005C zuordnet.

0x5C in Windows-932 wird jedoch in bestimmten Kontexten als Yen-Zeichen betrachtet. Aus diesem Grund wird in vielen japanischen Schriftarten U + 005C als Yen-Symbol angezeigt, das normalerweise als U + 00A5 dargestellt wird, und nicht als Backslash gemäß dem von Unicode vorgeschlagenen Rendering. U + 00A5 ist eine Einweg-Best-Fit-Karte, die in Windows-932 auf 0x5C abgebildet ist. Code 0x5C in Windows-932 verhält sich jedoch in jeder Hinsicht (z. B. in Dateipfaden auf Windows-Systemen) wie ein umgekehrter Solidus (Backslash), außer wie er von einigen Schriftarten angezeigt wird, und in der Microsoft-Dokumentation für Windows-932 wird 0x5C als Backslash angezeigt . Diese Zuordnung entspricht der Codierung mit dem Namen "ibm-943_P15A-2003" in International Components for Unicode (ICU), mit Ausnahme einer geringfügigen Neuordnung einiger C0-Steuerzeichen .

IBM-943 ist wie IBM-932 eine Obermenge der Einzelbyte- Codepage 897 , die 0x5C dem Yen-Symbol ( ¥ ) und 0x7E dem overline ( ) zuordnet, gefolgt von der Codierung mit dem Namen "ibm-943_P130-" 1999 "auf der Intensivstation. Die Codepage 897 (und damit auch IBM-943 und IBM-932) fügt auch Einzelbyte-Boxzeichen hinzu, die bestimmte C0-Steuerzeichen ersetzen. Diese können jedoch je nach Kontext weiterhin als Steuerzeichen behandelt und Steuerzeichen zugeordnet werden auf der Intensivstation.

Layout

Erstes Byte
0 1 2 3 4 5 6 7 8 9 EIN B. C. D. E. F.
0
1
2 ! "" # $ %. & ' (( ) * * + , - - . /.
3 0 1 2 3 4 5 6 7 8 9 :: ;; < = > ?
4 @ EIN B. C. D. E. F. G H. ich J. K. L. M. N. Ö
5 P. Q. R. S. T. U. V. W. X. Y. Z. [ \. ]] ^ _
6 ` ein b c d e f G h ich j k l m n Ö
7 p q r s t u v w x y z { | }} ~
8
9
EIN
B. ソ
C.
D.
E.
F.
Zweites Byte
0 1 2 3 4 5 6 7 8 9 EIN B. C. D. E. F.
0
1
2
3
4
5
6
7
8
9
EIN
B.
C.
D.
E.
F.
 
Nicht druckbares ASCII-Zeichen
ASCII-Zeichen
ASCII-Zeichen können durch lokalisierte Schriftarten ersetzt werden
Einzelbyte-Katakana mit halber Breite
Erstes Byte eines Doppelbyte-Zeichens, das von JIS X 0208 verwendet wird
Erstes Byte eines Doppelbyte-NEC oder eines von NEC ausgewählten Erweiterungszeichens
Nicht als erstes Byte verwendet, nicht zugewiesener Speicherplatz in JIS X 0208
Erstes Byte eines Doppelbyte-IBM-Erweiterungszeichens
Erstes Byte eines von IBM festgelegten Doppelbyte-benutzerdefinierten Zeichens
Nicht als erstes Byte verwendet, am besten als Einzelbyte dem privaten Nutzungsbereich zugeordnet
Zweites Byte eines Doppelbyte-Zeichens, dessen erste Hälfte der JIS-Sequenz ungerade war
Zweites Byte eines Doppelbyte-Zeichens, dessen erste Hälfte der JIS-Sequenz gerade war
Nicht als zweites Byte eines Doppelbytezeichens verwendet


Siehe auch

Verweise

Externe Links

Microsoft im Zusammenhang

IBM verwandt