特点:
- 没有4GB限制
...
Idzip只使用多个gzip成员没有文件大小限制。
the author of idzip似乎意味着需要多个gzip成员来支持数据> 4GB。
但是deflate algorithm,其输出gzip成员只包含页眉和页脚,evidently支持超过4GB的输入。
那么是否真的有必要使用多个gzip成员来压缩超过4GB的数据?
答案 0 :(得分:1)
即使.net GZipStream
,它不支持多个成员(与spec btw相反),但仍支持更多4GB的gzip文件,现在(since .net 4.0 )基础DeflateStream
支持它。
这样会封住它:输入大于4GB时不需要多个gzip成员。
gzip specs不会限制大小:
Each member has the following structure:
+---+---+---+---+---+---+---+---+---+---+
|ID1|ID2|CM |FLG| MTIME |XFL|OS | (more-->)
+---+---+---+---+---+---+---+---+---+---+
... [omitting optional headers]
+=======================+
|...compressed blocks...| (more-->)
+=======================+
0 1 2 3 4 5 6 7
+---+---+---+---+---+---+---+---+
| CRC32 | ISIZE |
+---+---+---+---+---+---+---+---+
ISIZE (Input SIZE)
This contains the size of the original (uncompressed) input
data modulo 2^32.
这里的重要部分是
原始(未压缩)输入数据的大小模2 ^ 32 。