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 回答