是否可以从 java.util.zip.Deflater 中获取原始压缩?
Is it possible to get a raw deflate out of java.util.zip.Deflater?
zlib docs 指定可以将负 windowBits
参数传递给 deflateInit2()
函数:
windowBits
can also be –8..–15 for raw deflate. In this case, -windowBits
determines the window size. deflate()
will then generate raw deflate
data
with no zlib header or trailer, and will not compute an adler32 check value.
我在我的 C 代码中使用了它,并且在 Java 中我能够通过将 nowrap
参数的 true
传递给 Inflater构造函数。
但是,将 nowrap
参数的 true
传递给 Deflater 不会产生原始压缩。它 returns 比我的 C 实现多了 20 个字节,这听起来确实像 header 和校验和。 (将 false
传递给 nowrap
会产生更长的字节数组。)
我已经浏览了
Deflater docs 但还没有找到指定 window 位的方法,或者我想要原始放气。这个图书馆有可能吗?或者我需要使用其他实现来获得 Java 中的原始放气吗?
Deflater
生成 zlib 包装的数据 (RFC 1950)。 Deflater(level, true)
生成原始压缩数据 (RFC 1951)。
zlib docs 指定可以将负 windowBits
参数传递给 deflateInit2()
函数:
windowBits
can also be –8..–15 for raw deflate. In this case,-windowBits
determines the window size.deflate()
will then generate rawdeflate
data with no zlib header or trailer, and will not compute an adler32 check value.
我在我的 C 代码中使用了它,并且在 Java 中我能够通过将 nowrap
参数的 true
传递给 Inflater构造函数。
但是,将 nowrap
参数的 true
传递给 Deflater 不会产生原始压缩。它 returns 比我的 C 实现多了 20 个字节,这听起来确实像 header 和校验和。 (将 false
传递给 nowrap
会产生更长的字节数组。)
我已经浏览了 Deflater docs 但还没有找到指定 window 位的方法,或者我想要原始放气。这个图书馆有可能吗?或者我需要使用其他实现来获得 Java 中的原始放气吗?
Deflater
生成 zlib 包装的数据 (RFC 1950)。 Deflater(level, true)
生成原始压缩数据 (RFC 1951)。