繁体   English   中英

在霍夫曼压缩后将代码表存储在压缩文件中,并从该表中构建用于解压缩的树

[英]Storing table of codes in a compressed file after Huffman compression and building tree for decompression from this table

我当时正在使用C ++编写霍夫曼压缩程序,但遇到压缩文件结构的问题。 它需要在我的新文件中存储一些结构,以帮助我对该文件进行解码。 我决定在此文件的开头编写一个代码表,然后从该表构建一棵树以解码下一个内容,但是我不知道用哪种方式存储该表会更好(我的意思是我不知道表的结构,我知道如何以二进制模式编写内容)以及如何从此表构建树。 对不起我的英语不好。 先感谢您。

您不需要传输概率或树。 解码器所需的全部就是分配给每个符号的位数,以及一种将编码器和解码器都同意的将位值分配给每个符号的规范方法。 参见规范霍夫曼代码

您可以根据字符出现在文本中的可能性,尝试使用字符序列在压缩文件中写入标头。 或在字母后面加上概率。 这样,您就可以使用相同的过程来构建用于压缩和解压缩的树。 至于如何构建树本身,我想您需要做一些研究,如果有问题请回来。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM