我创建了一个程序来读取文件并将其逐个字符编码为可变长度的二进制代码。前任。最常见的字符是 110,下一个常见的字符是 0010,等等。然后我将整个二进制代码放入一个文本文件中。所以代码看起来像 11010011001110000110001010110110...然后继续。我将如何将二进制编码解码回字符?
最佳答案
如果你真的生成了霍夫曼码,那么它就是 prefix code 。也就是说,没有一个有效代码也是另一个有效代码的前缀。因此,您只需从头开始,与这些位匹配的任何代码都是第一个符号。删除这些部分并重复。您的第一个符号与代码 101 相关联。删除 101,然后在代码中查找 1、10、100、1001、10011 等,直到找到匹配项。
关于c - 使用霍夫曼码解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25231973/