文字コード掲示板


記事表示


No.221投稿日時:2004/10/07(木) 04:27    <↑親記事:No.211>
投稿者:森山 将之

CP20932 のコード範囲

Windows 2000 の WideCharToMultiByte() で CP20932 を調べた結果、コード範囲は、次のようになっていました。

1バイトコード
0x00〜0x7F US-ASCII

2バイトコード
1バイト目 0x8E 2バイト目 0xA1〜0xDF JIS X 0201 片仮名
1バイト目 0xA1〜0xFE 2バイト目 0xA1〜0xFE JIS X 0208 + α
1バイト目 0xA1〜0xFE 2バイト目 0x21〜0x7E JIS X 0212 + β

α = NEC特殊文字(CP932 13区) + ユーザー定義文字(CP932 95区〜104区)
β = IBM拡張文字 - JIS X 0212 + ユーザー定義文字(CP932 105区〜114区)

2バイトコードにエンコードされている JIS X 0212 を EUC-JP の 3バイトコードにしてやれば、eucJP-open (eucJP-ascii) になりそうです(全文字調べたわけではありません)。JIS X 0208 の「〜」は WAVE DASH U+301C に変換されます。

よって、CP20932 は

・EUC-JP に似ているが EUC-JP とは異なる独自エンコーディングである。
・CP20932 (eucJP-ascii モドキ) ⇔ CP932 の変換は、一部変換できない文字がある。

という事で、実際に使用するのは問題アリでしょう。
(問題アリで『使えない』と判断していますので、突っ込んだ解析は行っていません。)

【参考】
Code-Page Identifiers
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/unicode_81rn.asp
eucJP-open についての説明
http://www.opengroup.or.jp/jvc/cde/sjis-euc.html
eucJP-open と UCS との間のコード変換規則
http://www.opengroup.or.jp/jvc/cde/appendix.html
eucJP-ms
http://www2d.biglobe.ne.jp/~msyk/charcode/cp932/eucJP-ms.html


Script : Sylpheed 1.24
Modified by MORIYAMA Masayuki