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

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

我正在研究霍夫曼文件压缩项目。直到现在我知道它的工作原理是这样的:

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

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

我的问题是如何在文件实现级别用 C++ 执行此操作,如何更改二进制文件?

最佳答案

我已经想通了,简单来说,为一个字母制作代码,然后为另一个字母制作代码并组合,重复此直到代码等于或超过 8 个包含 1 和 0 的字符,然后是这个 8 位数字序列被编码为某个字符并存储在文件中。 这样可以压缩文件。

关于c++ - 如何在 C++ 中自定义文本文件的编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29187639/

相关文章:

encoding - Windows-1252 和 ISO-8859-1 之间的确切区别是什么?

character-encoding - 为什么使用 ExecuteGlobal 导入 .vbs 函数库文件时,VBScript 会显示 "Invalid Character"?

c++ - 将 OpenGL 与 Visual Studio 2013 Express 结合使用

c++ - 没有线程安全开销的 QSharedPointer?

javascript - url传递参数时的编码问题

bash - 阿拉伯字符的 Redis 语法错误

Python Notepad++编码错误

python - 从文本文件中删除未知字符

c++ - 调用 system() 的行为与在命令提示符 (cmd) 中的行为不同

c++ - 计算一组字符的出现次数并从字符串中减去空格