0
Wikipedia article for Gzip表示存在「8字節頁腳,包含CRC-32校驗和以及原始未壓縮數據的長度」。爲什麼他們追加未壓縮數據的CRC而不是壓縮數據的CRC?爲什麼使用未壓縮與壓縮數據的CRC?
我只能想到諸如在驗證CRC之前必須處理整個數據流,通過Deflate算法運行它的缺點。
Wikipedia article for Gzip表示存在「8字節頁腳,包含CRC-32校驗和以及原始未壓縮數據的長度」。爲什麼他們追加未壓縮數據的CRC而不是壓縮數據的CRC?爲什麼使用未壓縮與壓縮數據的CRC?
我只能想到諸如在驗證CRC之前必須處理整個數據流,通過Deflate算法運行它的缺點。
我認爲gzip在壓縮數據方面有一定的自由度,因此計算壓縮數據的crc可以給出不同的校驗和。計算未壓縮數據的crc意味着您使用不同的算法壓縮,解壓縮相同的crc。
最後,你關心的是解壓縮的數據是它應該是什麼。您可能在壓縮或解壓縮算法中存在錯誤;壓縮數據的crc不會找到。
+1正確。壓縮數據上的CRC只會檢測到傳輸/存儲錯誤。對未壓縮數據的CRC可以檢測到壓縮/解壓縮中的任何錯誤。 –