我有一个简单的程序,它在输入中包含字符串“Hello world”的TXT文件。我只想压缩这个文件以获得内存空间。为此,我编写了霍夫曼算法。我的程序能够打开目标文件,并使用字符“0”和“1”记录编码的字符串(Hello world)。但是,我想创建一个包含二进制代码的输出文件(当然,不包含字符)。但我不知道该怎么做。有人能帮帮我吗?
提前感谢您的帮助。
答案 0 :(得分:0)
我不能给你任何例子,因为我不知道C ++,而且我用二进制文件完成的大多数事情都失败了。
函数的输出应该是8的倍数(一个字节中有8位)
您需要循环输出,将每8位转换为一个字节(char)。修改编码功能可能会更好,为您执行此步骤,缓冲输出。
保存时你可能需要强制使用endian(例如:将其编码为big-endian),这样当你以后读取和解码数据时,你就会知道它是如何编码的。