仕事をするために、ファイルの種類を特定したいと思います。ただし、ファイルには拡張子がありません。ファイルはtxt、jpeg、mp3、pdfなどの場合があります.cまたはc ++またはpythonを使用して、それがjpegまたはpdfまたはmp3ファイルであるかどうかを確認するにはどうすればよいですか?
2 に答える
4
libmagicを使用します。これは、マジック ヘッダー (通常は最初の数バイト) など、さまざまなヒューリスティックに基づいてファイル タイプを識別するためのライブラリです。
これは基本的に、有名な unix コマンドfile
が識別に使用するものです。良い点:あらかじめ定義されたパターンが付属しているため、自分で車輪を再発明する必要はありません!
python モジュールが存在しますpython-magic
。それが何をするかを推測してください。そして、C の場合は、 を使用しますlibmagic
。
以下も参照してください。
于 2013-07-11T15:48:59.177 に答える
1
.exe、.jpg、.mp3 などの一部のファイルには、ヘッダー (ファイルの最初の数バイト) が含まれています。ヘッダーを調べて、そこからファイルの種類を推測できます。
もちろん、エンコーディングによっては、未加工のテキストなどの一部のファイルには、ヘッダーがまったくない場合があります。
于 2013-07-11T15:46:22.513 に答える