テキストファイルとバイナリファイルを判別する方法は? – プログラミング – Home

テキストファイルとバイナリファイルを判...
 
通知
すべてクリア

[解決済] テキストファイルとバイナリファイルを判別する方法は?


しん
 しん
(@しん)
ゲスト
結合: 25年前
投稿: 113
Topic starter  

テキストファイルとバイナリファイルを判別するにはどうしたらいいでしょう?
考えてみたんですが、無いように思えました。
が、VSではいとも簡単かつ高速に判別して適切なエディタを開いています。
なので、出来るに違いないと思うのですが、どうしても分かりません。
どうぞ宜しくお願い致します。


引用未解決
トピックタグ
ku
 ku
(@ku)
ゲスト
結合: 24年前
投稿: 312
 

テキストとバイナリの差は、ファイルの中のデータ0x00~0xffをどう解釈するかなので
完全に判断する方法は無いと思います

UNICODEならBOMで判断するとか
sjisで判断するなら1バイト目にきてはいけないコードで判断するとか
2バイト文字の1バイト目と2バイト目がありえない組み合わせで判断するとか
だと思います
どのコード体系をテキストと判断するかによっても違うかもしれないし
複数のコード体系を有効とすると、精度が下がってしまうかもしれない

基本的には、想定しているテキストコード体系に矛盾するデータがあったら
バイナリと判断するしかないのかなと思います


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

テキスト バイナリ 判別 でぐぐってみたとろこ

http://www.microsoft.com/japan/msdn/library/default.asp?
url=/japan/msdn/library/ja/guides/html/vstskHow_VSS_Treats_Binary_Files.asp

ファイルの種類の識別方法

Visual SourceSafe にファイルを追加すると、そのファイルの種類がチェックされ、テ
キスト ファイルとバイナリ ファイルのいずれかの種類が自動的に割り当てられます。
ファイルの種類を判別する既定の方法は単純で、ファイル内に NULL 文字 (バイナリ値
で 0) が含まれているかどうかを調べることによって行われます。ファイル内に NULL
文字が見つかった場合、そのファイルはバイナリ ファイルと認識されます。

とかかれていました。(VSSですけど)


返信引用
しん
 しん
(@しん)
ゲスト
結合: 25年前
投稿: 113
Topic starter  

>kuさん
>>完全に判断する方法は無いと思います
なるほど、確かに完璧な方法はないかもしれませんね。

>Blueさん
>>テキスト バイナリ 判別 でぐぐってみたとろこ
おお、これです!有難うございます。こんな単純な方法があったなんて、全く気づきませ
んでした。EOF以前に'\0'が出現するようなテキストファイルだったらダメですが、レア
ケースでしょう。この方法は十分役立ちますね!

私も全く同じ検索キーワードで、Yahoo!ってみたんですが、ダメでした。修行が足りませ
んね。お二人とも有難うございました!大感謝です!


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました