1-先考虑文件名称的创立

这个生成新的文件,并更改目标文件的下标的程序,先需要创建两个文件名,在判断源文件是否存在,最后分情况将源文件的值拷入目标文件,并更改新产生的文件的后缀


主函数调用
argc是主函数参数个数,argv[n]是具体第几个参数,在命令行里输入

2- 对原文件内的所有字符逐个读入目标文件并编码压缩

这样就完成了对文件的哈夫曼压缩
3- 解压缩需要的思考和条件
假如我们将已经压缩好的文件发到另外一个人那里,通过UE打开,由于没有创建的哈夫曼树,我们需要将 出现的字符 和其频度也要逐字节写入targetFile中,但是出现字符及频度 紧接着就是哈夫曼编码,且需要让接收者识别“经过哈夫曼压缩的文件”我们需要标识,需要在压缩时,把sourceFile一些接收者,需要解压缩要知道的内容写到 “文件头” 中

创建一个文件头

flag 文件标识,alphaCount 共计字符个数, bitCount 共计二进制位数找结束点 offset(offset的大小就是文件头和count个FREQ的大小和)作为开始编码点,同时将FREQ中的内容(字符及其频度)写入targetFile

这样压缩后的二进制文件也可以传达这些解压缩的基本信息,只要接收者能得到这些信息,那么就可以通过重建哈夫曼树,来完成解压缩
1954

被折叠的 条评论
为什么被折叠?



