您好我想在我的应用程序中检测文件类型。 libmagic是一个选择。但我不打算进行字符串比较,例如
使用libmagic输出的mp3文件:ID3版本为2.3.0的音频文件,包含:MPEG ADTS,第III层,v1,128 kbps,44.1 kHz,JntStereo
还有其他用于真实文件类型检测的库吗?
任何帮助都将不胜感激。
答案 0 :(得分:3)
您可以尝试使用File Signature Table
自行实现此功能示例:
Hex Signature File Extension ASCII Signature, File Description
49 44 33 MP3 ID3
MPEG-1 Audio Layer 3 (MP3) audio file
43 44 30 30 31 ISO CD001
ISO-9660 CD Disc Image
This signature usually ...
答案 1 :(得分:1)
您错误地认为该文件类型集是可枚举的。这不是文件的工作方式。您关于.mp3文件(音频)的示例自然会导致视频。 .AVI,.MKV,MPEG1,MPEG2和MPEG4视频之间有什么关系?您无法在一个数字中捕获这些关系。
同样,CD .ISO与DVD .ISO的文件类型相同吗?要么指定相同数量的要么。我在上一句中专门写了“ you ”,因为答案取决于你是否认为它们是相同的。