Offzip未检测到Zlib标头

时间:2018-11-19 18:20:59

标签: c# compression zlib dotnetzip

我正在寻找一个包含一些zlib压缩块的文件,Offzip将其视为有效块,一个不是:

0x 78 01 F3 48 --valid and has a matching adler32 hash
0x 78 01 03 00 --invalid
0x 78 01 63 64 --valid not sure about the hash

我认为只有前三个字节指示压缩方法和标志,因此我不确定为什么未检测到第二个条目。它肯定看起来像zlib数据块,但是我有点迷路了

任何意见或建议将不胜感激

1 个答案:

答案 0 :(得分:2)

这些都是zlib流的所有有效开始。当然,它们都不是有效的整个zlib流,因为zlib流的最小长度为8个字节。

78 01 03 00具有一个有效的zlib头78 01和一个有效且实际上是完整的deflate流0300。这是一个空的固定代码deflate块,标记为最后一个块。如果您紧随其后的是00 00 00 01(零字节的Adler-32检查值),那么您将拥有完整且正确的zlib流。