0

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

  1. 读取块 3 位标头
  2. 根据规范构建霍夫曼树
  3. 解码霍夫曼代码
  4. 解码lz77压缩数据

我是否缺少步骤,或添加了不必要的步骤?

4

1 回答 1

1

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

#3 应该是:解码 Huffman 代码,直到读取结束块代码。

#4 与 #3 同时完成。当每个代码被解码时,就会采取该动作来生成未压缩的数据。

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

于 2013-09-03T02:50:19.437 回答