乙個 zip 檔案的普通格式
乙個 zip 檔案由三個部分組成:
壓縮原始檔資料區+壓縮源檔案目錄區+壓縮源檔案目錄結束標誌
1、壓縮原始檔資料區
在這個資料區中每乙個壓縮的原始檔/目錄都是一條記錄,記錄的格式如下:
[檔案頭+ 檔案資料 + 資料描述符]
a、檔案頭結構
組成 長度
檔案頭標記 4 bytes (0x04034b50)
解壓檔案所需 pkware 版本 2 bytes
全域性方式位標記 2 bytes
壓縮方式 2 bytes
最後修改檔案時間 2 bytes
最後修改檔案日期 2 bytes
crc-32校驗 4 bytes
壓縮後尺寸 4 bytes
未壓縮尺寸 4 bytes
檔名長度 2 bytes
擴充套件記錄長度 2 bytes
檔名 (不定長度)
擴充套件字段 (不定長度)
b、檔案資料
c、資料描述符
組成 長度
crc-32校驗 4 bytes
壓縮後尺寸 4 bytes
未壓縮尺寸 4 bytes
這個資料描述符只在全域性方式位標記的第3位設為1時才存在(見後詳解),緊接在壓縮資料的最後乙個位元組後。這個資料描述符只用在不能對輸出的 zip 檔案進行檢索時使用。例如:在乙個不能檢索的驅動器(如:磁帶機上)上的 zip 檔案中。如果是磁碟上的zip檔案一般沒有這個資料描述符。
2、壓縮源檔案目錄區
在這個資料區中每一條紀錄對應在壓縮原始檔資料區中的一條資料
組成 長度
目錄中檔案檔案頭標記 4 bytes (0x02014b50)
壓縮使用的 pkware 版本 2 bytes
解壓檔案所需 pkware 版本 2 bytes
全域性方式位標記 2 bytes
壓縮方式 2 bytes
最後修改檔案時間 2 bytes
最後修改檔案日期 2 bytes
crc-32校驗 4 bytes
壓縮後尺寸 4 bytes
未壓縮尺寸 4 bytes
檔名長度 2 bytes
擴充套件字段長度 2 bytes
檔案注釋長度 2 bytes
磁碟開始號 2 bytes
內部檔案屬性 2 bytes
外部檔案屬性 4 bytes
區域性頭部偏移量 4 bytes
檔名 (不定長度)
擴充套件字段 (不定長度)
檔案注釋 (不定長度)
3、壓縮源檔案目錄結束標誌
組成 長度
目錄結束標記 4 bytes (0x02014b50)
當前磁碟編號 2 bytes
目錄區開始磁碟編號 2 bytes
本磁碟上紀錄總數 2 bytes
目錄區中紀錄總數 2 bytes
目錄區尺寸大小 4 bytes
目錄區對第一張磁碟的偏移量 4 bytes
zip 檔案注釋長度 2 bytes
zip 檔案注釋 (不定長度)
zip檔案格式
原文 zip檔案格式 說明本人根據自己的學習過程,適當理解,並作下筆記,以便查閱。這裡暫不包含zip64部分。整體結構 簡單歸納總結下,zip檔案格式由檔案資料區 目錄結構,目錄結束標誌組成。其中 目錄結束節又有乙個字段儲存了 目錄結構的偏移。整體結構如下圖 分割槽描述 目錄結束標誌 目錄結束標誌一...
so檔案格式詳解
1 可重定位檔案 可與其它目標檔案一起建立可執行檔案和共享目標檔案 2 可執行檔案 可執行的乙個程式,此檔案規定了exec 如何建立乙個程式的程序映像。3 共享目標檔案 鏈結器可將它與其它可重定位檔案和共享目標檔案連線成其它的目標檔案,動態聯結器又可將它與可執行檔案和其它共享目標檔案結合起來建立乙個...
SWF檔案格式詳解
先說一下檔案頭吧,如下所示 字段 類 型 具體 說明 標記1 乙個位元組 f或c 其中c表示檔案資料經過壓縮 f為不壓縮 標記2乙個位元組 w 標記2 乙個位元組 s 版本號 乙個位元組 flash版本號如 0x06表示為版本6 檔案長度 四個位元組 整個檔案大小 楨大小 rect 顯示的矩形框大小...