- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通过哈夫曼编码实现文件的压缩与解压.pdf
第 27卷第 4 期 武 汉 工 业 学 院 学 报 Vol27No4
2008年 12 月 Jou rnal of W uhan Polytechn ic U n iversity D ec2008
文章编号 :(2008) 04 004604
通过哈夫曼编码实现文件的压缩与解压
王防修 ,周 康
(武汉工业学院 数理科学系 ,湖北 武汉 430023)
摘 要 : 从介绍常见压缩与解压软件出发 ,通过分析哈夫曼编码能够压缩一般文件的原理 ,详
细说明了通过哈夫曼编码实现文件的压缩与解压的过程 ,并通过几个不同类型文件的压缩效
果进行检验 。同时说明了伪哈夫曼编码表文件能够增强压缩文件的安全性 。
关键词 : 哈夫曼编码 ;压缩 ;解压 ;二叉排序树 ;码字
中图分类号 : TP 3 1 文献标识码 : A
计算机文件是以字节为单位组成的 ,每个字节
0 引言
的取值从 0 到 255。每个字节都看成字符 ,共 256
为了节省存储空间和提高信息传输的效率 , 目 种字符 。因此 ,每个字节都是以 8 个二进制位的定
前国内外已经开发出了 PKZ IP、AR T、ARC、LHA 、W I 长编码表示的。由于这种定长码也是唯一可译码 ,
N Z IP等对文件进行压缩与解压 [ 1 ] 的软件 ,这些软件 根据定理 1,有 L≤8。
的通用性较好 ,操作也比较方便 , 同时也可以对信息 设某个文件有 N 个字节组成 ,则该文件总长度
起到一定的安全保护作用 。然而 ,这些压缩与解压 为 8N 比特 。如果对该文件进行哈夫曼编码 ,则该
软件都是基于 LZW 码的改进算法的基础上开发的。 文件总长度为 LN 比特 。由于 L≤8,所 以 LN ≤8。
事实上 ,哈夫曼编码 [ 2 ] 作为一种变长编码技术 , 由 所以, 只要文件满足 L 8,用哈夫曼编码总可以对
于它能充分利用短码 ,所以同样可以根据它来开发 其压缩 。
相应的压缩与解压软件 ,并且这种压缩与解压软件 1. 2 哈夫曼编码的条件
简单易用 ,安全保密性能好 。 哈夫曼编码是一种变长编码 , 即通过使用较短
本文所述的压缩与解压软件的开发 ,采用了哈 的码字来给出现概率较高的信源符号编码 ,而出现
夫曼编码技术 , 同时结合了哈夫曼编码表的查询技 概率较小的信源符号用较长的码字来编码 ,从而使
术 ,解决了变长编码的存储困难 、程序应变能力较差 平均码长最短 ,达到最佳编码的目的。由于哈夫曼
及程序设计比较复杂等问题 。而且文件的压缩比和 编码只能对概率已知的信源符号编码 , 因此是一种
信息的安全性都得到很大的提高 。 统计编码 。
哈夫曼编码之所以能够对文件进行压缩 ,完全
1 基本原理
是由于文件能够满足哈夫曼编码的条件 。首先 ,我
1. 1 文件能够被压缩的理论依据 们可以将一个文件看作一个单符号信源 ;其次 ,任何
定义 1 对于给定的信源和码符号集 ,若有一 一个文件都是由一个个字节构成的 ,每一个字节就
个唯一可译码 ,其平均码长 L小于所有其他唯一可 是一个字符 ,而字符只有 256种 ,因此一个文件最多
译码 ,则称这种码为紧致码或最佳码 。
文档评论(0)