如何使用霍夫曼编码算法构建输出编码文件?

时间:2013-04-28 18:38:19

标签: encoding huffman-code

我有一个简单的程序,它在输入中包含字符串“Hello world”的TXT文件。我只想压缩这个文件以获得内存空间。为此,我编写了霍夫曼算法。我的程序能够打开目标文件,并使用字符“0”和“1”记录编码的字符串(Hello world)。但是,我想创建一个包含二进制代码的输出文件(当然,不包含字符)。但我不知道该怎么做。有人能帮帮我吗?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我不能给你任何例子,因为我不知道C ++,而且我用二进制文件完成的大多数事情都失败了。

函数的输出应该是8的倍数(一个字节中有8位)

您需要循环输出,将每8位转换为一个字节(char)。修改编码功能可能会更好,为您执行此步骤,缓冲输出。

保存时你可能需要强制使用endian(例如:将其编码为big-endian),这样当你以后读取和解码数据时,你就会知道它是如何编码的。