使用 ZLib 单元压缩文件与使用 ZipForge 比较
关于Delphi中的压缩有很多问题,无论如何这不是重复的。
我在我的应用程序中使用 ZipForge 进行压缩/解压缩功能。
目前我使用 ZipForge 的 2 个功能:
1) 压缩和解压缩 (!)
2) 密码保护档案
现在我将从所有档案中删除密码,因此我只需要压缩和解压缩文件。我压缩它们只是为了最大限度地减少从服务器上传/下载文件时的带宽。所以我的想法是处理所有文件一次,以解压缩它们(带密码)并重新压缩它们而无需密码。
我对ZipForge没有什么意见,反正它是一个额外的组件,每次我升级到最新的Delphi版本时我都必须等待新的IDE支持,而且组件越多,安装过程中的问题就越多(我没有提到成本)因为它非常低,并且用其他东西替换组件会花费时间,所以这不是成本问题)。
因此,由于我所做的非常简单,我想使用 ZLib 单元用 2 个简单函数替换 ZipForge。 我在 这里在 Torry's 上找到(并测试了)这些函数。
您对使用 Zlib 单元有何看法?您是否发现了 ZipForge 不会出现的任何潜在问题?你能评论一下速度吗?
There are many questions on zipping in Delphi, anyway this is not a duplicate.
I am using ZipForge for zip/unzip capability in my application.
Currently I use 2 features of ZipForge:
1) zip and unzip (!)
2) password protect the archives
Now I am removing the password from all the archives so I need only to zip and unzip files. I zip them just for minimizing bandwith when uploading/downloading files from the server. So my idea is to process all files once for unzipping them (with password) and rezipping them without password.
I have nothing against ZipForge, anyway it is an extra component, every time I upgrade to a newest Delphi version I have to wait for the new IDE support and moreover the more components the more problems during the installation (I don't mention the cost since it is very low, and replacing a component with some other thing costs time, so it is not a cost issue).
So since what I do is very simple I'd like to replace ZipForge with 2 simple functions using the ZLib unit.
I found (and tested) the functions here on Torry's.
What do you think of using Zlib unit? Do you see any potential problem that I would not have with ZipForge? Can you comment on speed?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
嗯,开箱即用的 ZLib 不是 ZIP,如果您需要创建由第三方软件解压的 ZIP 文件,则必须为实际的 ZIP 文件编写额外的代码。如果您使用自己的代码来执行压缩和解压缩,则可以使用 ZLib。但您仍然需要通过创建自己的传递文件名等约定来重新发明轮子。并且您仍然需要使用第三方库。
Well, ZLib out-of-the-box is not ZIP and if you need to create ZIP files which should be unpacked by third-party software, you will have to write extra code to actually ZIP files. If you use your own code to perform both compression and decompression, you can go with ZLib. But still you will be reinventing the wheel by creating your own convention of passing file names etc. And you still need to use a third-party library.