【发布时间】:2014-03-23 02:30:15
【问题描述】:
我正在做关于霍夫曼编码的作业。我已经设法从一个文本文件构建一个字符频率树,为每个字母生成 0 和 1 的代码,使用代码将文本文件写入另一个文件,并解码代码的句子。
我的目标是实现以下目标:
压缩:将 0 和 1 的字符串分成 8 位块,并写入字符 由压缩文件的每个块表示。 通过将每个字符替换为表示它所需的 8 位来进行解码。
我很不确定我是如何将它压缩成 8 位块的。
【问题讨论】:
-
你一次取八位,并将它们转换成一个从 0 到 255 的数字。这就是你要写的字符。所以 00010000 = 32 十进制 = ' '(一个空格)。到目前为止,您尝试过什么?
-
将 0 和 1 视为位。
-
如果一个字母的代码跨多个块运行会发生什么?
-
我只想链接到我以前的答案:stackoverflow.com/a/17929178/555045 简而言之,永远不要使用字符串。
标签: c++ algorithm compression huffman-code