如何识别没有扩展名的文件类型?

时间:2013-07-11 15:44:25

标签: c++ python c

要做一项工作,我想识别文件的类型。但文件没有扩展名。文件可能是txt,jpeg,mp3,pdf等。使用c或c ++或python如何检查它是jpeg还是pdf或mp3文件?

2 个答案:

答案 0 :(得分:4)

使用 libmagic ,这是一个基于各种启发式识别文件类型的库,例如魔术标头(前几个字节通常)。

这基本上是众所周知的unix命令file用于识别的。好处是:它附带预定义模式,因此您不必自己重新发明轮子!

存在一个python模块python-magic。猜猜它做了什么。好吧,对于C,请使用libmagic

另见:

How to identify the file type of a file?

Identifying the type of a file without extension from binary data

答案 1 :(得分:1)

某些文件(如.exe,.jpg,.mp3)包含标题(文件的前几个字节)。您可以检查标头并从中推断出文件类型。

当然,某些文件(例如原始文本,取决于它们的编码)可能根本没有标题。