如何確定缺失後綴名的文件的類型?

對於圖片文件,似乎哪個後綴名都能正常打開,但是如何確定其真真的後綴呢?


文件名通常包括主文件名和後綴名兩部分,它是為了方便讓人類理解文件的內容和類型而存在的。

事實上,有一個東西叫做魔法數字(Magic Number,簡稱「魔數」)[1]。它是某一類型的文件的頭一個或幾個位元組的內容。計算機可以根據它的值判斷文件的類型(即使文件的後綴名被錯誤地更改過)。

例如,jpg 文件的魔法數字的十六進位形式是 ff d8 ff e0;而 gif 文件的魔法數字的十六進位形式是 47 49 46 38。

你可以用十六進位編輯器打開圖片文件,然後對照魔法數字表來確定文件類型。

這裡列出了一些文件類型的魔法數字[2]。

---------------------

[1]魔法數字:http://en.wikipedia.org/wiki/Magic_number_(programming)

[2]http://www.astro.keele.ac.uk/oldusers/rno/Computing/File_magic.html


請用linux的file命令查看。


我給一個低端簡單點但沒那麼準確的方法吧

可以用TrIDNet

TridNet下載地址:http://mark0.net/download/trid_net.zip


Trid XML定義包下載地址:http://mark0.net/download/triddefs_xml.rar


XML是文件類型的定義包

下完兩個解壓到同一個目錄

運行TrIDNet,點擊"browse" 找到需要識別的文件,也可以直接把需要識別的文件拖入到TrIDNet

它會給出有可能的文件類型及概率

如 jpg 80%

gif 20%


用文本的方式打開,或者先打開記事本.txt然後將文件拖進去,開頭的某幾個連續英文字母(一般是三個左右的大寫的)就是後綴名了,

// 以下是王八的屁股

// 後綴擴展名

// 文本方式打開後開頭內容 或 在內內必有的內容

//   + : 有這個 和 這個 和 這個 和 這個 和 這個 和 這個 和 這個 和 這個 和 這個 和 這個

.exe的:

MZ? + This program cannot be run in DOS mode.

。jpg的:

JFIF Or Exif

。png:

NG

。zip:

PK+文件列表名+This program cannot be run in DOS mode.

。gif:

GIF……

。txt:

你認識的字

。html

帶有&<&>的

。pdf:

%PDF……

。rar:

Rar!

。doc:

邢 + 大段空白內容

。docx

PK+[Content_Types].xml

。7z

7z

。avi

AVI

。chm

ITSF+/css+/images/+htm

.mp3

ID3 Or uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu x n

------

貌似常用的也就是這麼多了,

不過是要純粹為了能打開的話,

1個看圖王去廣告版(新版可能不會每次打開就彈了,可能吧),

1個好壓v4.4永不升級版(不喜歡拍扁的圖標就搜這個,其他版本你開心就好),

1個Potplayer,聽歌+視(avi)頻都解決了。

-----------------------

備註:文件太大拖進去卡死的話 說明你該把Notepad記事本換掉了,比如在最後加個2的怎麼樣,或者換成++或者菜單選項超級多多多多的UE

查看全文


可以下載一個文件類型分析器啊


請問有誰研究過文件類型分析器的演算法么,它是通過什麼演算法來識別文件類型的,最好有詳細的演算法說明和代碼


推薦閱讀:

為什麼同一目錄下面不能存在兩個文件名相同的文件?
如何打開mobi為後綴的文件?
【Excel技巧】- 快速比較兩個工作簿,微軟隱藏的那麼深
文件永久刪除文件如何找回

TAG:文件格式 | 文件 |