- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第27卷第1期 贵州大学学报(自然科学版) V01.27No.1
ofGuizhou Feb.2010
2010年2月 Journal University(NaturalSciences)
文章编号1000—5269(2010)01—0095一04
Delphi中三种压缩库的应用比较
罗如为+,陈孝威
(贵州大学计算机科学与信息学院,贵阳550025)
自带的Zlib和最新的ZlibEx、ZlibExGZ这三种库的压缩能力及压缩、解压缩的时间消耗量。
关键词:Delphi;Zlib;压缩;压缩时间;解压缩
中图分类号:TP311.52文献标识码:A
zlib压缩算法是一种基于字典的无损压缩算部分分离成新的库文件ZlibExGZ,发展到2009.1,
法,采用了统计模型和字典模型,有机地结合了霍
夫曼(Huffman)树编码法和LZ77编码法的优点,
使压缩效果更好。Zlib算法继承了字典压缩算法
的思想,将此思想与滑动窗口(在内存中开辟的一
个固定长度的缓冲区)相结合,把滑动窗口看成是 缩包,将解压后的文件夹拷贝到delphi安装目录的
字符的字典,找出超前察看缓冲区(与滑动窗口的
缓冲区相邻)中能与滑动窗口的字符串相匹配的 tions中的librarypath中。在需要使用的时候use
最长的字符串,并将此串按照LZ77编码法进行编Mibex.ZlibExGZ.
码。当两个缓冲区中没有相匹配的字符时,便采用 1压缩和解压缩
自适应的Huffman编码法进行编码,在编码的过程
中将已编好的压缩码实时地写入压缩文件中。也
就是说,Zlib算法将长度不同的符号串编码成一个
个新单词,形成一本短语词典的索引,然后用索引
来检索数据,并用字典的编码代替符号串以达到压
缩目的。解码过程是编码的逆过程,同样用到了
缩,实现了很高的数据压缩比率。
Huffman算法和LZ77算法的编码算法,解码过程
以下为调用压缩库函数实现三种压缩和解压
与编码过程相似。
ZLIB压缩算法是对GZIP的一种改进,去掉了
中的压缩级别。以Csbz区分四种压缩级别:①不
压缩文件时包含的一些冗余信息,来提高对缓冲区
压缩;②快速压缩,牺牲压缩效率;③标准压缩;④
数据的压缩速度。ZLIB的核心算法和GZIP是相
同的,使用的是同一个压缩算法deflate。 最大化压缩,牺牲压缩速度。以CsType区别三种
从Delphi7光盘\Info、Extras\Zlib\Src可以找
后的文件流写入内存流mStream;解压后的文件流
到zlib(verl.0.4)是在1996.7发布的,在http://
w、^w.base2ti.eom/downloads/history/delphizlib.
缩级别,所以默认为标准压缩。实验中发现zlibEx
123.2009.shtm中可以看到,对旧的版本进行了优
1. 不能解压缩0字节的文件(夹);zlibExGZ既不能
化和修正后,在2000.6有了新的版本Zlib(ver
压缩也不能解压缩0字节的文件(夹);在解压缩
1.3),于2001.10更名为ZlibEx,经过不断地修正、
过程中,不能覆盖像Thumb.db这种隐藏系统文
修改和添加新的函数,并且在2007.3将gzip功能
收稿日期:2009—09—10
文档评论(0)