乙個 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 檔案注釋 (不定長度)
搜尋引擎大致由哪三個部分組成
搜尋引擎大致由搜尋系統 索引系統 檢索系統三個部分組成。所謂搜尋引擎,就是根據使用者需求與一定演算法,運用特定策略從網際網路檢索出制定資訊反饋給使用者的一門檢索技術。搜尋引擎的工作過程,一般分為五個步驟 1 從網際網路上抓取網頁,利用能夠從網際網路上自動收集網頁的網路蜘蛛程式,自動訪問網際網路,並沿...
乙個好漢三個幫
混跡江湖已有不少年頭,缺人氣。在創業公司做,做不出創業的氣氛來。搞技術的人其實好像並不在乎是否創業公司,只在意工資是否發得出,有沒有事情做,公司本身能否成功與自己無關。有多少人考慮過,如何成就團隊的同時成就自己?創業公司一般門檻低,容易得到乙份offer,但往往進去後就迷失掉,忘記了所處的人生階段,...
乙個數由三個素數的和組成的方案數
題解 1 先判斷兩個素數w i w j 的和是否大於n 2,若小於則說明數字n不可能由三個素數組成 2是最小的素數 2 再判斷n w i w j 是否是素數 3 保證w i w j n w i w j 是遞增的,避免重複計數 注意laz要和線段樹陣列開一樣大小 include include inc...