Microsoft Windows Codepage : 50222
読み:マイクロソフト-ウィンドウズ-コードページ-ごーゼロにーにーに
外語:CP50222: Microsoft Windows Codepage : 50222

 Microsoft Windowsで使われている、ISO-2022-JPの亜種の一つ。
目次

概要
 ISO-2022-JPに対し、CP932全文字(重複を除くWindows-31Jの文字)が扱えるよう拡張をした符号である。
 Microsoft Outlook ExpressInternet Explorerなどで使われている。

仕様

基本仕様
 基本的には7ビットで文字を表現する7ビット符号で、エスケープシーケンスもISO/IEC 2022に準じている。
 但し、これによって指示される文字集合は、標準ではなく、Windowsの実装に合わせた独自の文字集合である。
 また、一部の文字については、文字のコードレンジが0x7f以上となり、ISO/IEC 2022に準じていない。

特徴
 電子メール等、ISO-2022-JP相当の環境で、Windowsで使われる拡張文字を正しく処理したい場合が、用途として想定される。
 このCP50222は、JIS X 0201 片仮名、いわゆる半角カナは、GRにあるものとしてSI/SOで切り替えて出力される。
 類似符号に、JIS X 0201 片仮名をJIS X 0208 片仮名に変換して出力するCP50220、「ESC ( I」でエスケープして出力するCP50221が存在する。

符号化方式(CES)
 但し、ユーザー定義外字領域は、ISO/IEC 2022の仕様から外れている。

符号化文字集合(CCS)
 ※を附したものは、入力(読み込み)には対応するが、出力されない。
 出力時は、英数文字はUS-ASCII、JIS C 6226はJIS X 0208のエスケープシーケンスが使われる。JIS X 0201 片仮名は、英数状態時にGRにあるものとして、SI/SOを用いて出力される。
 各拡張文字は、シフトJISと同じ区に配置されている。
 「IBM拡張文字」(115区〜120区)は、存在はするが出力には使われておらず、NEC選定IBM拡張文字の符号位置に変換される。シフトJISの場合はIBM拡張文字の方が優先されるので、若干動作が違っていると言える。

符号の割り当て

開始状態
 開始状態では、次のように指示されている。
 開始状態では、次のように呼び出されている。
 G0を英数(ASCII/JIS X 0201 ローマ字)、または日本語(JIS C 6226/JIS X 0208)で切り替えて用いるのはISO-2022-JPと同様である。
 但し、この符号系はG0に対する指示に対応して英数モードか日本語モードかを切り替えているに過ぎない。ゆえに、G1に対する指示エスケープシーケンスなどは認識しない。

英数モード
 G0が英数の場合、CP932完全互換の文字集合となっている。
 つまり、より正確にはGRは「JIS X 0201 片仮名」ではなくCP932の右側である。

日本語モード
 G0が日本語の場合、ISO-2022-JPにほぼ準じた形でCP932の文字集合を扱うことができる。
 つまり、ESC 2/4 4/2(ESC $ B)で指示した場合、本来は含まれていないはずの、NEC特殊文字、NEC選定IBM拡張文字、ユーザー定義外字が文字集合に含まれていて利用できる。
 なお、日本語モード時に利用できる95区〜114区は、1バイト目0x7f〜0x92が対応しており、この領域はISO/IEC 2022の範囲を超えている。

エスケープシーケンス
文字集合エスケープシーケンスCP50222UnicodeI/O
1バイト目2バイト目
ASCIIESC 2/8 4/2ESC ( B0x00〜0x7fU+0000〜U+007FI/O
JIS X 0201 ローマ字ESC 2/8 4/10ESC ( JIN
JIS X 0201 片仮名ESC 2/8 4/9ESC ( I0x21〜0x5fU+FF61〜U+FF91IN
SI/SOI/O
JIS C 6226-1978ESC 2/4 4/0ESC $ @0x21〜0x280x30〜0x740x21〜0x7eIN
JIS X 0208-1983ESC 2/4 4/2ESC $ BI/O
NEC特殊文字0x2dI/O
NEC選定IBM拡張文字0x79〜0x7cI/O
IBM拡張文字0x93〜0x97IN
ユーザー定義外字0x7f〜0x92U+E000〜U+E757I/O
 この表では書き切れていないが、ESC 2/8 4/2とESC 2/8 4/9は同義である。つまり、ASCIIとJIS X 0201の差異等の処理は存在しない。同様に、ESC 2/4 4/0は、ESC 2/4 4/2と同義として扱われている。つまり、ESC 2/4 4/0としても、JIS C 6226としての機能は無い。
 また、ESC 2/4 4/0でもESC 2/4 4/2でも、同様にNEC特殊文字以下を利用することができる。

再検索