2010-06-15 50 views
1

在Delphi中壓縮有很多問題,無論如何,這不是重複的。使用ZLib單元壓縮文件vs使用ZipForge

我在我的應用程序中使用了ZipForge來提供zip/unzip功能。

目前我使用ZipForge的2個特點:

1)壓縮和解壓縮()

2)密碼保護檔案

現在我從所有的檔案,以便消除密碼我!只需要壓縮和解壓縮文件。我壓縮它們只是爲了最大限度地減少從服務器上傳/下載文件時的帶寬。所以我的想法是處理所有文件一次,以解壓縮它們(使用密碼)並重新壓縮它們而不使用密碼。

我對ZipForge沒有任何反應,無論如何它是一個額外的組件,每次升級到最新的Delphi版本時,我都必須等待新的IDE支持,而且組件越多,安裝過程中出現的問題越多(我不'不要提及成本,因爲它非常低,用一些其他東西代替組件會花費時間,所以這不是成本問題)。

所以,因爲我做的非常簡單,我想用ZLib單元來替換ZipForge和2個簡單的函數。 我發現(和測試)的功能here on Torry's

您對使用Zlib單元有什麼看法?你有沒有看到ZipForge沒有的潛在問題?你能評論速度嗎?

回答

7

那麼,開箱即用的ZLib不是ZIP格式,如果您需要創建應由第三方軟件解壓縮的ZIP文件,則必須爲ZIP文件編寫額外的代碼。如果您使用自己的代碼執行壓縮和解壓縮,則可以使用ZLib。但是,您仍然會通過創建您自己的傳遞文件名等常規來重新發明輪子。而且您仍然需要使用第三方庫。

+0

好吧,事實上,當你告訴我這一點後,我意識到我無法使用windows zip引擎或7-zip打開我使用zlib壓縮的文件。因此,我還應該發佈一個「緊急工具」來恢復壓縮文件「你知道哪些文件擴展名shuold我給zlib壓縮的文件,以便它們可以不使用7-zip嗎? – LaBracca 2010-06-15 09:14:10

+2

沒有,恐怕。ZLib它不會產生「文件」,它只是壓縮數據流,而是你將這些流打包成某些格式,以後可以用第三方應用程序打開。據我所知,GZIP格式是一個頭+ ZLib流,所以你可以檢查它的規格。 – 2010-06-15 11:36:53