【问题标题】:Deflate and gzip stream format - More detailsDeflate 和 gzip 流格式 - 更多详细信息
【发布时间】:2017-02-07 07:44:57
【问题描述】:

我正在开发 deflate 或 gzip 解压缩器的 fpga 实现。在进行一些编码之前,我需要先了解压缩数据流的格式。

我阅读文档,但我总是看到有关霍夫曼编码和树中阅读的信息,

我想知道树是如何存在于数据流中的,即。在 gzip { HEADERS, etc etc etc etc, COMPRESSED Payload, CRC/ISIZE FOOTER } 它没有告诉我如何或压缩的有效负载是什么样的。

如果放气,每个块都有一个 3bit HEADER,但是一个块有多长或者我怎么知道它是否是另一个块?

在此之后,我认为这些文件足以帮助我执行算法,但我无法理解我到底在处理/触摸什么。

【问题讨论】:

  • 所以基本上你是在说 - 我不懂文档?那么你对我们有什么期望呢?

标签: compression gzip fpga deflate


【解决方案1】:

“压缩的有效负载”记录在RFC 1951 中,其中详细描述了 deflate 格式。读几遍,如果您有任何实际的具体问题,可以回到这里。

【讨论】:

  • 如果没问题,我可以要求确认 gzip 在 1 和 0 方面的外观
  • 对不起,我真的很困惑据我了解,它看起来像这样:一个只有 1 和 0 的文件。文件开始 010...010 文件结束。因此,将文件标记为 gzip 格式的 ID1 和 ID2 应如下所示:文件开始 0001 1111 1000 1011 ......其他部分......文件结束。因此标题可以读作 | ID1 | ID2 | = | 0x1f | 0x8b | ?多字节标头,例如 Mtime = SoF || LSB 字节 |...|最高位字节 || EoF。在数据块中(未压缩) SoF ... 0 00(Header Bfinal,btype) || LEN LSB | LEN MSB || ||尼伦... ||文字即。 00001001 = 字母 #9 ||....EoF.
  • 感谢您的时间和耐心,等我对Fixed Huffman Codes和Dynamic Huffman以及LZ77解压部分的其余部分了解更多后,我会再问一次
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多