ファイルがアスキーかどうかしらべるには


風邪  2004-03-19 01:42:01  No: 7742

お願いします..


にしの  2004-03-19 02:39:21  No: 7743

1文字ずつ読み込んで、#$00〜#$7F以外の文字コードがあったらアスキーでないとすればよいかと。


たかみちえ  URL  2004-03-19 02:47:38  No: 7744

Perlでは、ファイルを読み込み
先頭付近(リファレンスには1ブロックと書いてありますが…)をしらべ、30%以上がテキストではない文字(コントロールコードやNULLなど)ならば、バイナリファイルと判断するそうです。
これだけだと、かなりの確率で日本語の書かれたテキストファイルもバイナリファイルと見なされるかもと書いてあります(JPerlでは対処されてるそうですが、JPerlはしらないのでわかりません)。
  実際には、
・NULLが入っていても問題としない(コードによってはNULLが入っているので)
・ByteType関数でLeadBytesと判断された文字はカウントしない
  などすれば、精度は上がるでしょう。

  もっといい方法があるかもしれませんが(-_-;)

  Delphiでこれをするには、TFileStreamなどで読み込み、一個ずつバイトを調べていくと良さそうです。


にしの  2004-03-19 03:05:28  No: 7745

アスキーは0〜127ですので、制御コードもアスキーです。
アスキーでないことを確認するには、1バイトずつ読み込んで、上位1ビットを調べればできます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加