【发布时间】:2016-09-01 09:26:29
【问题描述】:
我正在我的编程课上练习霍夫曼编码。我已经完成了几乎所有的编码部分。例如,我为每个字符分配了一个代码(即 a=100100),并根据其代码转换文本中的每个字符。然后我将每个代码解析为一个字节列表,就像将 100100 解析为一个字节并将其存储到列表中。但是,我需要将所有字节写入 .txt 文件。我意识到有一个问题。
示例:一个字符的代码为“1001”,它将作为 1 字节而不是 4 位写入 .txt 文件。
我知道在霍夫曼编码之后,字符以如下格式存储: “11100111101011111101011011111000010000101” 但现在我的情况是每个字符占用1个字节的大小,与编码前的原始输入文件大小没有区别。
有没有办法以“11100111101011111101011011111000010000101”之类的格式存储代码?
对不起我的英语,我尽力解释我的困惑。
【问题讨论】:
-
您必须将每个字节写入二进制字符串。 This话题可以帮到你。
-
我刚试过你的方法,如果我在文件中写入字符串而不是字节,文件大小会大 10 倍。
-
这就是txt和二进制格式的区别。
标签: java string encoding byte huffman-code