- - PR -
.NET(できればC#)でファイルの文字コード判別
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-08-12 12:20
お世話になっています。
うまくいかない場合とは、unicodeのファイルが判別できない状況です。 今現在使用している文字コードがS-JIS、UTF-8、unicodeです。 unicodeのファイルがS-JISやEUCとして判別されてしまいます。 よろしくお願いします。 | ||||||||
|
投稿日時: 2004-08-12 13:11
諸農です。
ええ、そういう状況だということは判っています。 たずねているのは、どのような判定方法(ロジック)で、 どんなデータが含まれている(含まれていない)時に 判定をミスってしまうのか、です。
SJISとEUCでかぶらない文字(美乳?)を探すとか。 前の投稿で紹介したサイトにそういったことが書いてあったと 思いますが。 ちなみにどんなロジックなんでしょうか? _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||
|
投稿日時: 2004-08-12 13:37
お世話になっています。
説明不足で申し訳ないです。 判定方法は前の投稿で紹介していただいたサイトのサンプルプログラムを そのまま使用しています。 (自作のプログラムにて取り込みたいため、EXE形式のフリーソフトではなく ソースの公開されているものを使用したいと思っています) そのサンプルプログラムだとunicode(UTF-16)のファイルがS-JISやEUCと 識別されてしまいます。 (サンプルプログラムではunicode(UTF-16)の判定処理が入っていない ように思いました) といった状況です。 よろしくお願いいたします。 | ||||||||
|
投稿日時: 2004-08-12 16:20
諸農です。
同じデータファイルを対象にしても、検査するたびに結果がSJISと EUCのどちらかになるのですか?それは、ランダムに結果が変わる のでしょうか? ちなみに、UTF8を想定したデータファイルでもSJISorEUCのどちらか に誤判定されるのですか? 判定したいデータファイルをバイナリエディタで開いて、 どの部分で誤認識しているのか、誤判定の元になっている のか、の検証作業はどのようにしていますか? その検証作業に合わせて、入手したコードの手直しは できないものなのでしょうか?
そのような解説は書かれていませんでしたから、入っていないと思い ますが。。 ちなみにUTF8とUTF16だと、 http://www.websina.com/bugzero/kb/unicode-bom.html を参考に、BOMの判定をしてみてはいかがですか? あ、でも、SJISorEUCへの誤判定を回避する方法が先になるのかな。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||
|
投稿日時: 2004-08-12 16:32
お世話になります。
同じデータファイルを対象にしている場合は、検査するたびに結果が 変わるということはなく、ファイルごとにS-JISかEUCと判別されていました。 ご指摘いただいたBOMの判定ロジックを追加したところ、UTF-16のファイルが 識別できるようになり、一通りのファイルで文字コードの判別ができるように なりました。 諸農さん、ありがとうございました。 |