2017-02-07 61 views
0

我正在研究deflate或gzip解壓縮程序的fpga實現。在我可以做一些編碼之前,我需要首先了解壓縮數據流的格式。deflate和gzip流格式 - 更多詳細信息

我讀單證,但我總是看到有關霍夫曼編碼和讀取在樹上,

我想知道樹的數據流,即裏面怎麼存在。在gzip {HEADERS等等等等,壓縮PAYLOAD,CRC/ISIZE FOOTER}它不告訴我如何或什麼壓縮有效載荷看起來像。

如果放氣,每塊有一個3位HEADER,但是塊有多長,或者我怎麼知道它是另一塊?

之後,我認爲這些文檔足以幫助我完成算法,但我無法理解我在處理/觸摸到什麼。

+0

所以基本上你說 - 我不明白文檔?那麼你對我們的期望是什麼? –

回答

0

「壓縮的有效載荷」記錄在RFC 1951中,其詳細描述了放氣格式。多讀幾遍,如果你有任何實際的具體問題,那麼你可以回到這裏。

+0

如果沒關係,我可以要求確認gzip在1和0方面的外觀如何。 –

+0

請參閱[RFC 1952](https://tools.ietf.org/html/rfc1952)。 –

+0

對不起,我真的很困惑 據我瞭解,它看起來像這樣: 只有1和0的文件。 StartOfFile 010 ... 010 EndOfFile。 因此,將文件標記爲gzip格式的ID1和ID2應如下所示: 文件開始0001 1111 1000 1011 ......其他部分...文件結束。 因此,標題可以被讀爲| ID1 | ID2 | = | 0x1f | 0x8b | ? Multibytes headers like Mtime = SoF || LSB字節| ... | MSB字節|| EOF。 在數據塊(未壓縮)中 SoF ... 0 00(Header Bfinal,btype)|| LEN LSB | LEN MSB || || NLEN ... ||文字即。 00001001 =字母表#9 || .... EoF。 –