压缩
(1)统计原始文件中各字节出现的概率(次数);
(2)采用哈弗曼算法对各字节进行编码,建立哈弗曼对照表;
a)构造二叉树
b)编码
(3)依次读取原始文件的每个字节,查找其对应的哈弗曼编码,将这些位写入到压缩文件中(注意:要凑够8位二进制才写入到文件中)。
(4)将原始文件中各字节及出现的次数也写入到压缩文件中。
2、解压
(1)从压缩文件中获得原始文件各字节及出现的次数,并根据此构造哈弗曼对照表;
(2)将压缩文件中对应原始文件数据的部分依据哈弗曼对照表还原成原来的字节,写入到解压文件中。
1