有一个奇怪的问题 - 我的应用程序套件中的一个必须读取/写入Windows和Linux上使用的gzip压缩文件,并且我发现在Linux上使用zlib生成的文件比使用zlib生成的文件大2-3倍那些在Windows上使用GZipStream
生成的。他们在任一平台上完美地阅读,所以我知道无论哪个平台创建文件,压缩都是正确的。问题是,文件在不同时间通过网络传输,显然文件大小是一个问题。zlib的gzip压缩和.NET的GZipStream使用的压缩之间有什么区别?
我的问题是:
- 有没有其他人遇到这个
- 是两者之间有一些记载区别?我知道
GZipStream
没有提供像使用zlib一样指定压缩级别的方法,但是我在zlib一侧使用了最大压缩。我不应该看到相对相同的文件大小,假设GZipStream被写入使用最大压缩以及?
只是澄清,什么是压缩(本质上)是一个单一的文件,使用deflateInit2()与Z_BEST_COMPRESSION,Z_DEFLATED,16 + MAX_WBITS和Z_DEFAULT_STRATEGY使用gzip格式。 – Will
您无法指定GZipStream的压缩级别。它肯定听起来不像你想要的,如果它们小3倍:) –
确切的说......问题出在Linux端。这段时间我一直在思考这个问题,最后决定把这个问题扔给那位大师,看看他们是否有任何想法。 – Will