eucJP-ms と CP51932 の違い

画像
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() でなければ、変換できません。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 42

なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー)
驚いた 驚いた 驚いた 驚いた 驚いた
面白い 面白い 面白い 面白い 面白い
ナイス ナイス ナイス ナイス ナイス ナイス ナイス ナイス ナイス
ガッツ(がんばれ!) ガッツ(がんばれ!) ガッツ(がんばれ!) ガッツ(がんばれ!) ガッツ(がんばれ!)
かわいい かわいい かわいい かわいい かわいい かわいい かわいい かわいい

この記事へのコメント

この記事へのトラックバック

  • [Perl] 2つのシグマ 03A3/2211

    Excerpt: シグマの文字には以下の2種類のコードがあるそうです。 Unicode 03A3 (GREEK CAPITAL LETTER SIGMA) JIS 2632 E.. Weblog: ゆうすけブログ racked: 2006-02-02 03:23
  • Encode - 規格のバグまでは直せません

    Excerpt: それが規格だからです。 b:note: Encodeのナゾ 最近会う機会が無いので、トラックバックします。 $moji = "~"; Encode::fr.. Weblog: 404 Blog Not Found racked: 2006-05-10 10:58
  • IE7と補助漢字(「森鴎外」と「森鷗外」)

    Excerpt: 繋繫 前回、「秀丸エディタとEUC補助漢字(「繋がる」と「繫がる」)」で書きま Weblog: WEBプログラミング NOW! racked: 2006-11-09 17:41
  • ANSIからユニコードへ変換

    Excerpt: LPWSTR szUnicode; int len = ::MultiByteToWideChar(CP_ACP, 0, szAnsi, -1, NULL, NULL); len = len * .. Weblog: プログラマー's 雑録 racked: 2007-02-15 21:26
  • http://www.valras-plage.net/max-muscle-xtreme/

    Excerpt: eucJP-ms  CP51932@__ R[hy[W932/EFu_u_O Weblog: http://www.valras-plage.net/max-muscle-xtreme/ racked: 2016-11-30 05:26
  • EUC-JP と Linux

    Excerpt: EUC-JPは1980年代、UNIXで日本語を扱うための文字コードとしてAT&Tが制定した。シフトJISとは異なり、ISO 2022 8ビット表のC1領域の一部(0x8E)に半角カタカナを、GR領域(.. Weblog: ぱふぅ家のホームページ racked: 2017-02-22 12:06
  • JIS X 0212 と JIS X 0213

    Excerpt: JIS X 0208:1993(97JIS)だけでは表せない日本語があることから、JIS X 0212:1990(JIS補助漢字)では6,067の記号・文字が追加された。ところが、符号化に難があったた.. Weblog: ぱふぅ家のホームページ racked: 2017-02-24 12:06
  • Unicode=古今東西のあらゆる文字を収録

    Excerpt: 全世界の文字を統一して扱えるUnicodeは21ビット・コードだが、32ビット・コードのISO/IEC 10646と1991年に統合した。JIS第3・第4水準文字のほか、古今東西のあらゆる文字から携帯.. Weblog: ぱふぅ家のホームページ racked: 2017-02-26 09:56