一、常見文件頭格式
在計算機中,文件頭是一段用來描述文件內容和格式的數據。不同的文件格式有不同的文件頭格式。文件頭通常包含文件的類型、版本、編碼方式、文件大小等信息,以方便計算機識別和處理文件。
常見的文件頭格式有文本文件、二進位文件、音頻文件、圖片文件、視頻文件等,其中文本文件由於其文件內容的簡單性,一般沒有特定的文件頭格式。
二、常用文件頭
以下是一些常見的文件頭:
文件類型 文件頭 BMP 圖片文件 424D GIF 圖片文件 474946383961 or 474946383761 JPG 圖片文件 FFD8 or FFE0 MP3 音頻文件 FFFB AVI 視頻文件 52494646 ZIP 壓縮文件 504B0304 PDF 文檔文件 255044462D312E
三、常見文件頭值
文件頭值是指不同類型文件所對應的文件頭十六進位值。常見的文件頭值包括:
文件類型 文件頭 BMP 圖片文件 42 4D GIF 圖片文件 47 49 46 38 39 61 or 47 49 46 38 37 61 JPG 圖片文件 FF D8 or FF E0 MP3 音頻文件 FF FB AVI 視頻文件 52 49 46 46 ZIP 壓縮文件 50 4B 03 04 PDF 文檔文件 25 50 44 46 2D 31 2E
四、常見文件圖標
不同的文件類型在計算機中有不同的圖標表示。常見的文件圖標如下:
文件類型 文件圖標 圖片文件 圖片圖標 音頻文件 聲音圖標 視頻文件 視頻圖標 壓縮文件 文件夾加鎖圖標 文檔文件 文檔圖標
五、常見文件頭編碼
不同的文件類型需要採用不同的編碼方式來存儲文件頭信息。常見的編碼方式有ASCII碼、Unicode碼、UTF8碼等。其中,ASCII碼是一種用於計算機處理的編碼方式,通常用一個位元組(8位二進位數)表示一個字元,比較節省存儲空間。
六、常見文件頭文件尾
與文件頭相對應的是文件尾,也就是文件的結尾標識。文件尾用來標示文件的結束,不同的文件類型也採用不同的文件尾格式。例如: JPEG、PDF等文件格式在文件末尾都有特定的結束標識。
七、常見文件頭格式excel
Excel的文件頭一般是採用二進位格式進行存儲的。由於Excel文件包含多個Sheet,因此文件頭也需要記錄Sheet的相關信息。在Excel文件中,文件頭的大小為8位元組,其中第7-8位元組是一個長整數,表示Sheet的數量,即一個Excel文件最多包含多少個Sheet。
八、十六進位常見文件頭
十六進位是指一種用16個字元(0~9、A~F)表示數字的計數法。常見的文件頭格式通常以十六進位數的形式呈現。以下是一些常見文件類型的十六進位文件頭:
文件類型 文件頭 BMP 圖片文件 42 4D GIF 圖片文件 47 49 46 38 39 61 or 47 49 46 38 37 61 JPG 圖片文件 FF D8 FF E0 or FF D8 FF E1 MP3 音頻文件 FF FB AVI 視頻文件 52 49 46 46 ZIP 壓縮文件 50 4B 03 04 PDF 文檔文件 25 50 44 46 2D 31 2E
九、常見視頻文件
視頻文件在計算機中也有著廣泛的運用,以下是一些常見的視頻文件類型及其文件頭:
文件類型 文件頭 AVI 52 49 46 46 FLV 46 4C 56 01 MP4 00 00 00 18 66 74 79 70 69 73 6F 6D WMV 30 26 B2 75 8E 66 CF 11 A6 D9 00 AA 00 62 CE 6C
十、文件頭格式標準選取
文件頭格式標準是指為不同文件類型設置統一的文件頭格式,以方便計算機進行文件識別。什麼樣的文件頭格式標準是合適的呢?通常應考慮以下因素:
- 文件頭格式應盡量短小,節省存儲空間
- 文件頭格式應盡量規範化,方便計算機處理
- 文件頭格式應足夠複雜,在保障一定唯一性的同時,也提高了計算機的識別準確度
綜合以上幾點因素,可以選取較短的、符合規範的、複雜的文件頭格式進行標準化。例如,BMP圖片文件的文件頭格式為「424D」;MP3音頻文件的文件頭格式為「FFFB」。
以下是一個Python編寫的文件識別函數實例,可以通過該函數來識別文件的類型:
import binascii def get_file_type(file_path): with open(file_path, 'rb') as f: head = f.read(4) filetype = '' if head.hex() == "89504e47": filetype = 'PNG' elif head.hex() == '47494638': filetype = 'GIF' elif head.hex() == '49492A00' or head.hex() == '4D4D002A': filetype = 'TIFF' elif head.hex() == 'FFD8FFDB' or head.hex() == 'FFD8FFE0': filetype = 'JPEG' elif head.hex() == '49534103': filetype = 'MP3' elif head.hex() == '52494646': next_four = f.read(4) if next_four == b'\x57\x41\x56\x45' or next_four == b'\x41\x56\x49\x20': filetype = 'AVI' else: filetype = 'WAV' elif head.hex() == '52494646': filetype = 'WMA' elif head.hex() == '3026B2758E66CF11': filetype = 'WMV' else: filetype = 'Unkown type' return filetype
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/189445.html