做一个工作,我想确定文件的类型。但文件没有扩展名。文件可能是txt,jpeg,mp3,pdf等。使用c或C++或python如何检查它是jpeg还是pdf或mp3文件?如何识别没有扩展名的文件类型?
1
A
回答
1
某些文件(如.exe,.jpg和.mp3)包含一个标题(文件的前几个字节)。您可以检查标题并从中推断出文件类型。
当然,某些文件(如原始文本,取决于编码)可能根本没有标题。
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. 在iOS上识别我的没有文件扩展名的MIME类型
- 2. 识别无二进制数据扩展名的文件类型
- 3. 即使文件扩展名已更改,如何识别文件类型?
- 4. 在phpstorm中识别没有扩展名的bash文件
- 5. PHP - 识别附件文件扩展名
- 6. 如何获得没有扩展名文件类型
- 7. 下载文件无法识别文件类型/文件扩展名?
- 8. 如何从没有扩展名的文件名获取文件扩展名?
- 9. 如何仅扩展没有扩展名的文件?
- 10. 没有扩展名的文件的Tomcat MIME类型
- 11. 如何识别.pc扩展名
- 12. 有没有扩展名为NEXT,PREVIOUS类别的文章?
- 13. 获取除扩展名外没有扩展名的文件名
- 14. 没有扩展名的文件名
- 15. 在vim中检测文件类型时没有有效的文件扩展名
- 16. 如何找到没有扩展名的图像的MIME类型?
- 17. 确定扩展名的文件没有扩展名
- 18. C#检测没有扩展名的文件类型没有长码或标记
- 19. 如何在没有扩展名的情况下在vim中扩展文件名?
- 20. 如何移动没有文件扩展名的文件? C#
- 21. 打开没有扩展名的文件
- 22. 没有文件扩展名的网页
- 23. 没有文件扩展名的Scandir
- 24. 文件扩展名为MIME类型
- 25. 故障识别插件扩展的类型/折叠的区域
- 26. 目录和文件没有扩展名有什么区别?
- 27. 如何通过JQuery找到没有扩展名的文件名
- 28. 如何获得没有文件扩展名的链接名称?
- 29. 如何获得没有扩展名的文件名?
- 30. 如何使用xp_dirtree获得没有扩展名的文件名
读取文件的开始,寻找其标记为JPEG,MP3或pdf头。对于.txt文件,事情稍微有些尴尬;最好的办法是检查字节顺序标记或一系列可打印字符。 – simonc
请参阅'man 4 magic'以获取灵感并获取其数据库的指针。 –
无论如何扩展是不可靠的... –