開発環境はVC++6です。UTF-8、EUC、JISなど、できるだけ多くの文字に対応する文字コード判定処理のDLLなどを探しています。どなたか掲載しているHPなど教えていただきたくよろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/02/15 00:07:40
  • 終了:2007/02/22 00:10:42

回答(1件)

id:ardarim No.1

ardarim回答回数897ベストアンサー獲得回数1452007/02/15 01:29:42

ポイント60pt

nkf.exe nkf32.dll Windows用

いちおう定番というか老舗というかunix時代から続く息の長いライブラリですね。

ソースコード付きなので、その気があればどうやって判定しているのかも勉強できます。


IEのコンポーネントの一部(mlang.dll)を使うこともできます。この場合、IEが行っている文字コードの自動判別の機能をそのまま利用できます。IMultiLanguage2::DetectInputCodepage()というメソッドです。

ここにGetEncodingInfo()という呼び出し方のサンプルがあります。


実は私は自作のでやっていますが、結構うまくいっているようです。EUC(J)、シフトJIS、JIS7、UTF-8それぞれの符号化方式を熟知する必要がありますが、それぞれの方式で特徴的なバイトシーケンスは加点、ありえないバイトシーケンスは減点という具合で、適当なサイズ分の得点を総合して判定します。

こういうのは自分でちゃんと理解して、うまく動くと面白いものです。余裕があればぜひ挑戦してみては?

id:harunoharuno

いつも教えていただきありがとうございます。

便利なDLLとかも結構あるんですねー。

とりあえず、文字コード判定が可能なことが解りちょっとほっとしました。

自作の判定処理は、別の質問で教えていただいたリンク

http://kasumi.sakura.ne.jp/~gm/gpj/dev/tips/other/kanji.shtml

を元に作成中・・・。

やっぱ、できるものなら

自分で理解して作れた方が楽しいし、後々改造もしやすいので

もう少し頑張ってみることにします。

2007/02/16 00:00:47

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません