The Wayback Machine - https://web.archive.org/web/20190519002645/https://m.webry.info/at/msyk/200511/article_2.htm

eucJP-ms と CP51932 の違い
2005/11/04 03:44[下へ]

[image]
eucJP-ms と cp51932 は、両方とも、EUC-JP をWindows標準キャラクタセットの文字を扱えるようにしたもので、それぞれ次のような拡張が行われています。

eucJP-ms は、オープン・グループ / 日本ベンダ協議会 が定義したもので、EUC-JP のコードセット1 (JIS X 0208) に、13区 NEC特殊文字と 85区〜94区には、ユーザー定義文字を追加し、コードセット3 (JIS X 0212 補助漢字) では、JIS X 0212 で定義されている文字は、JIS X 0212 のコードポイントを用い、足りない文字を 83区〜84区に追加、85区〜94区にユーザー定義文字を追加しています。

一方、cp51932 は、マイクロソフトが定義したもので、EUC-JP のコードセット1 (JIS X 0208) に、13区 NEC特殊文字と 89区〜92区には、NEC選定IBM拡張文字を追加して、コードセット3のJIS X 0212 は用いません。
また、ユーザー定義文字は、コードセット3は使わないため、コード領域が足りず扱えないということになります。

注意点としては、ユーザー定義文字を扱えるかどうかという事と、JIS X 0208 の 85区〜94区のコード割り当てが eucJP-ms と cp51932 とで異なるという事です。cp51932 の文字列を eucJP-ms によって UTF-8 などに変換してもエラーにはなりませんが、NEC選定IBM拡張文字が、ユーザー定義文字に化けてしまいますので御注意ください。

以上のように、eucJP-ms は、Windows で使われている cp51932 とは、異なるものなので、いわゆる機種依存文字を EUC-JP 符号化方式で処理する場合は、細心の注意を払って使用するようにする必要があります。

Windows の API で、cp51932 の文字コード変換する場合は、MultiByteToWideChar(), WideCharToMultiByte() ではなく、MLANG.DLL の ConvertINetMultiByteToUnicode(), ConvertINetUnicodeToMultiByte() でなければ、変換できません。






なるほどx 10 ナイスx 9 かわいいx 8
驚いたx 5 面白いx 5 ガッツx 5

気持玉(気持ちを伝えよう)
[なるほど] [驚いた]
[面白い] [ナイス]
[ガッツ] [かわいい]
(反映には時間がかかります)


コメントする
[3]トラックバック(8)

この記事のテーマ
文字コード

←[7]前の記事  [9]次の記事→
[8]ブログトップ

この記事を友達に教える
[2]画面先頭へ↑

画像あり|画像無し
分割表示|一括表示
文字サイズ:|中|

[*]ウェブリブログ