嗨我想檢測我的應用程序中的文件類型。 libmagic是一個選項。但我不打算字符串比較,例如真正的文件類型檢測
使用libmagic MP3文件輸出:音頻文件,ID3版本2.3.0,包含:MPEG ADTS,第三層,V1,128 kbps的,44.1千赫,JntStereo
是否有任何其他庫用於True File Type Detection?
任何幫助,將不勝感激。
嗨我想檢測我的應用程序中的文件類型。 libmagic是一個選項。但我不打算字符串比較,例如真正的文件類型檢測
使用libmagic MP3文件輸出:音頻文件,ID3版本2.3.0,包含:MPEG ADTS,第三層,V1,128 kbps的,44.1千赫,JntStereo
是否有任何其他庫用於True File Type Detection?
任何幫助,將不勝感激。
你可以嘗試通過自己的使用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 ...
這將是完美的,但我們在這裏有可維護性問題。開發人員總是必須對該文件感興趣以進行維護。我確實選擇了MIME類型,它不像整數比較那樣有效,但是更好一個(長文件描述的比較)。 – iyasar 2012-05-14 12:46:41
您錯誤地假定了一組文件類型的枚舉。這不僅僅是文件的工作方式。您關於.mp3文件(音頻)的示例自然會導致視頻。 .AVI,.MKV,MPEG1,MPEG2和MPEG4視頻之間的關係是什麼?你無法在一個數字中捕捉到這些關係。
同樣,是CD .ISO與DVD .ISO相同的文件類型?要麼你分配相同數量的你沒有。而且我在前面的句子中專門寫了「你」,因爲答案取決於你認爲它們是否相同。
您是否需要某種結構作爲檢測結果'(mime-type,默認擴展名,詳細信息等)'? – 2012-04-26 12:05:37
我想只有數字,如果它是可用的。 – iyasar 2012-04-26 12:11:05
什麼樣的號碼? – 2012-04-26 12:17:09