哈夫曼压缩

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

要对文件进行压缩:

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

 

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

 

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

 

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

 

最后,解压缩:

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

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

 

 

 

你可能感兴趣的:(压缩)