我正在寻找一个包含一些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数据块,但是我有点迷路了
任何意见或建议将不胜感激
答案 0 :(得分:2)
这些都是zlib流的所有有效开始。当然,它们都不是有效的整个zlib流,因为zlib流的最小长度为8个字节。
78 01 03 00具有一个有效的zlib头78 01和一个有效且实际上是完整的deflate流0300。这是一个空的固定代码deflate块,标记为最后一个块。如果您紧随其后的是00 00 00 01(零字节的Adler-32检查值),那么您将拥有完整且正确的zlib流。