当前位置: 首页 > 知识库问答 >
问题:

当使用zlib时,如何改变deflate流输出格式(raw,zlib,gzip)?

阳建弼
2023-03-14

zlib可以输出三种格式,我试着搜索了文档和zlib.h,但是找不到一个关于选项的清晰解释,大家有什么想法吗?

共有1个答案

滑令
2023-03-14

deflateinit2()的zlib.h文档中:

  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 a check value.

  windowBits can also be greater than 15 for optional gzip encoding.  Add
16 to windowBits to write a simple gzip header and trailer around the
compressed data instead of a zlib wrapper.
 类似资料:
  • 我有一个用gzip1.5编码的存档。我无法使用C zlib库解码它。zlib返回EC-3 stream.msg=“unknown compression method”。 文件的前32个字节是: 如果这是deflate编码的,那么我希望下一个字节@0x12是0AABBBBB(BFINAL=0和BTYPE=一些压缩) 如果这是zlib编码的,我希望下一个字节@0x12采用0AAA1000 bbbcc

  • 问题内容: Gzip格式文件(gzip例如,使用程序创建的文件)使用“放气”压缩算法,该压缩算法与zlib使用的压缩算法相同。但是,使用zlib膨胀gzip压缩文件时,该库将返回Z_DATA_ERROR。 如何使用zlib解压缩gzip文件? 问题答案: python zlib库支持: RFC 1950(zlib压缩格式) RFC 1951(deflate压缩格式) RFC 1952(gzip压缩

  • import "compress/zlib" zlib包实现了对zlib格式压缩数据的读写,参见RFC 1950。 本包的实现提供了在读取时解压和写入时压缩的滤镜。例如,将压缩数据写入一个bytes.Buffer: var b bytes.Buffer w := zlib.NewWriter(&b) w.Write([]byte("hello, world\n")) w.Close() 然后将数

  • zlib 软件包包含 zlib 库,很多程序中的压缩或者解压缩函数都会用到这个库。zlib 适用于数据压缩的函式库,几乎适用于任何计算器硬件和操作系统。 特性: 数据头(header) zlib 能使用一个 gzip 数据头、zlib 数据头或者不使用数据头压缩数据。 通常情况下,数据压缩使用 zlib 数据头,因为这提供错误数据检测。当数据不使用数据头写入时,结果是没有任何错误检测的原始 DEF

  • 处理内存中的数据 # zlib_memory.py import zlib import binascii original_data = b'This is the original text.' print('Original :', len(original_data), original_data) compressed = zlib.compress(original_dat

  • 问题内容: 我想尝试将java.util.zip中的Deflate和Inflate类用于zlib压缩。 我可以使用Deflate压缩代码,但是在解压缩时却遇到此错误- 到目前为止,这是我的代码- 问题答案: 您想在这里做什么?您使用InflaterInputStream来解压缩数据,然后尝试再次将此解压缩后的数据传递给Inflater?使用其中之一,但不能同时使用。 这就是导致您的异常的原因。 除