Wikipedia article for Gzip表示“有一个8字节的页脚,包含CRC-32校验和以及原始未压缩数据的长度”。为什么它们会附加未压缩数据的CRC而不是压缩数据的CRC?
在验证CRC之前,我只能想到必须处理整个数据流,通过Deflate算法运行它等缺点。
答案 0 :(得分:2)
我认为gzip在压缩数据方面有一定的自由度,因此计算压缩数据的crc会产生不同的校验和。计算未压缩数据的crc意味着您使用不同的算法压缩,解压缩和压缩相同的crc。
最后,您关心的是解压缩的数据应该是什么。您可能在压缩或解压缩算法中存在错误;压缩数据的crc无法找到。