如何在c ++中自定义文本文件的编码?

时间:2015-03-21 20:23:08

标签: c++ encoding character-encoding binaryfiles huffman-code

我正在研究huffman文件压缩项目。直到现在我知道它的工作原理如下:

file.txt(original) -> file.huf(encoded, compressed) -> file.txt(decoded)

我要做的是打开txt文件,生成霍夫曼代码,但是如何在原始文件的二进制代码文件中替换这些代码。例如,如果file.txt存储abc,那么其ASCII编码文件将存储01100001 01100010 01100011和霍夫曼编码文件,即file.huf应存储10 11 0,然后此文件应该使用生成的编码图进行解码。

我的问题是如何在文件实现级别用C ++做这个,我该如何改变二进制文件?

1 个答案:

答案 0 :(得分:1)

我已经弄清楚了,用简单的话说,制作一个字母表的代码然后另一个并组合,迭代这个直到代码等于或大于8个包含1和0的字符,然后这个8位数的序列被编码为某个字符并存储在文件中。 这样可以压缩文件。