这是解压缩缩小数据时的正确操作顺序吗?

时间:2013-09-03 00:32:33

标签: inflate deflate compression

我正在尝试使用静态霍夫曼代码实现deflate压缩数据的膨胀算法。阅读完规范后,我得出结论,这些步骤我将需要:

  1. 读取块3位标题
  2. 根据规范
  3. 构建Huffman树
  4. 解码霍夫曼码
  5. 解码lz77压缩数据
  6. 我错过了步骤,还是添加了不必要的步骤?

1 个答案:

答案 0 :(得分:1)

#2需要在前三位之后读取规范(如果有的话)。这些位指示是否存在规范,或者是否应使用静态树描述,或者数据是否在没有压缩的情况下存储。在后一种情况下,您跳过步骤#2-4,而是读取块长度和补码,然后读取该块的字节数。

#3应该是:解码霍夫曼码直到读取结束块代码。

<#>#4与#3同时完成。在解码每个代码时,将采取该操作来生成未压缩的数据。

应该有一个步骤#5:如果那不是最后一个块(在前三位中标记),则返回步骤#1。