コードページ932

アクセスカウンタ

zoom RSS cp932,cp51932,cp5022x の簡易テスト

<<   作成日時 : 2009/07/05 21:20   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

Sylpheed の初期の機種依存文字対応や Java の x-windows-50220 などの文字コード変換が Windows の Outlook Express や Windows メールの ISO-2022-JP とは異なる変換をしていて、なぜそのような実装にしているのか不思議でならなかったのですが、昨日、WideCharToMultiByte() の変換を調べて、なぞがとけました。

Outlook Express などでは、"g" は、NEC選定I BM拡張文字のコード位置に変換されるのですが、WideCharToMultiByte() でコードページ 50220 へ変換すると、JIS X 0212 補助漢字に変換されるようになっていました。Sylpheed の初期の機種依存文字対応や Java の x-windows-50220 の変換でも JIS X 0212 補助漢字に変換するようになっていたので、WideCharToMultiByte() の変換を調べて実装していたのではないかという事が予想できます。

きちんと Windows の変換を調査したという所までは良かったのですが、実際にそれが Outlook Express や Windows メールでの文字コード変換と同じかどうかまでは調べていなかったのではないかと思われます。

以前に調べたときには、Outlook Express と同じ文字コード変換を行う為には、MLANG.DLL の ConvertINetMultiByteToUnicode(), ConvertINetUnicodeToMultiByte() を使用する必要があるという事がわかっていました。当時、調べたときは、MultiByteToWideChar(), WideCharToMultiByte() のコードページ 50220 の変換は、"〜" の Unicode との対応付けが U+FF5E ではなく U+301C になっていたため、コードページ 50220 の変換に MultiByteToWideChar(), WideCharToMultiByte() は使えないと判断していたわけです。

このように、Windows での文字コード変換の特徴を把握しておいて、それを調べるために、代表的な文字をいくつか変換してみることで、文字コード変換が期待する実装になっているかという事を判定する事ができます。

もし、Windows 固有の文字を扱う必要が出てきたときには、次の文字を使って簡易テストを行うことで、自分が使おうとしている文字コード変換が意図する変換を行っているかどうかを素早く判定できるでしょう。

文字cp932cp51932cp5022xUnicode
0x81600xA1C10x2141U+FF5E
0x81E30xA2E50x2265U+221A
0x87400xADA10x2D21U+2460
0x87540xADB50x2D35U+2160
0xFA670xF9AC0x792CU+5F45
0xFBFC0xFCE20x7C62U+9AD9


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
cp932,cp51932,cp5022x の簡易テスト コードページ932/BIGLOBEウェブリブログ
文字サイズ:       閉じる