小编Hor*_*uss的帖子

霍夫曼压缩的最后一个字节

我想知道在Huffman Copression中处理最后一个字节的最佳方法是什么.我在C++中有一些很好的代码,它可以很好地压缩文本文件,但是目前我必须写入我的编码文件也编码字符数(好吧,它等于输入文件大小),因为不知道如何处理最后一个字节更好.

例如,要压缩的最后一个char是'a',哪个代码是011,我只是开始写入新字节,所以最后一个字节看起来像:011 +大约5位垃圾,我将它们作为例如0结束.当我编码这个编码文件时,可能会发生代码00000(或者用较少的零)是某些字符的代码,所以我在编码文件的末尾会有一些垃圾字符.

正如我在第一段中所写,我通过在编码文件中保存输入文件的字符数来避免这种情况,并且在编码时,我正在读取编码文件以达到该数字(而不是EndOfFile,不要去那些例子) 5个零).它不是真正有效,编码文件的大小增加了长数.

我怎样才能更好地处理这个问题?

PS.对不起我不完美的英语,我希望有可能理解:-)

compression algorithm ascii huffman-code eof

6
推荐指数
1
解决办法
2571
查看次数

标签 统计

algorithm ×1

ascii ×1

compression ×1

eof ×1

huffman-code ×1