`
张小芳
  • 浏览: 34342 次
  • 性别: Icon_minigender_2
  • 来自: 长沙
社区版块
存档分类
最新评论

哈夫曼压缩

 
阅读更多

目前,我还不能实现哈夫曼压缩,但上了课后,有了点思路。

要对文件进行压缩:

首先就要扫描文件,将字节一个一个 读出来,统计每一个字节的权值(字节出现的频率);

 

然后,就构建哈夫曼树,并获取每一个叶子节点的哈夫曼编码,并记录每一个字节对应的编码 的长度;

 

再次,写出每一个字节所对应的编码(在不是8的整数倍的 01String 后面补0,记录写了多少个 0,方便解压缩);

 

再将源文件中所有的byte转化为01哈夫曼编码,写入压缩文件;

 

最后,解压缩:

解压缩与压缩是一个相逆的过程,压缩是一个写文件的过程,那么解压缩就是一个读取文件的过程。

就读取压缩文件信息,将01哈夫曼编码转化为byte,不了多少0,就删掉多少0,得到二进制编码,再解析编码,解压文件

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics