做一個工作,我想確定文件的類型。但文件沒有擴展名。文件可能是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'以獲取靈感並獲取其數據庫的指針。 –
無論如何擴展是不可靠的... –