1

仕事をするために、ファイルの種類を特定したいと思います。ただし、ファイルには拡張子がありません。ファイルはtxt、jpeg、mp3、pdfなどの場合があります.cまたはc ++またはpythonを使用して、それがjpegまたはpdfまたはmp3ファイルであるかどうかを確認するにはどうすればよいですか?

4

2 に答える 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 に答える