在霍夫曼代码压缩中确定代码表位

时间:2015-12-14 16:49:39

标签: huffman-code

enter image description here

在上面的图片中,正如你在第11段的第11段所见, "对于我们的示例,代码表可以保存在5 * 8 + 4 * 2 = 48" 这个表达怎么出来的?请解释......

1 个答案:

答案 0 :(得分:0)

它说:

  

表条目数,代码1,符号1,代码2,符号2,......

这就是它的本质。表项数量的一个字节,在本例中为4.从中可以确定每个代码中的位数为2.然后是第一个代码(00)的两位,后面是八位第一个符号(“a”)的位。

然后该标头后跟编码数据,每个符号两位。

在这种编码方案中存在一个缺陷,假设您获得的是一个字节序列的文件。无法知道最后一个字节中有多少个符号,可能是1,2,3或4.您还需要在标题中另外两位来告诉您最后一个字节中有多少个符号。