上传者: 38634065
|
上传时间: 2021-10-27 18:56:53
|
文件大小: 32KB
|
文件类型: -
实现原理
读取文件,统计字符出现次数为权值,构建哈夫曼树,获取每个字符的哈夫曼编码,写入文件。
压缩文件头定义
type compressHead struct {
srclen, dstlen, keymapLen uint32 //源文件字符个数 压缩文件字符个数 哈夫曼编码字符映射个数
patchBit uint8 //压缩后不足8bit补0个数
keysMap map[interface{}]uint32 //字符统计构建哈夫曼树
}
压缩实现过程如下
//按照小端模式写入文件
func