您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python:Inflate和Deflate实现

Python:Inflate和Deflate实现

这是MizardX答案的附加组件,提供了一些说明和背景。

参见http://www.chiramattel.com/george/blog/2007/09/09/deflatestream-block- length-does-not- match.html

根据RFC 1950,以认方式构造的zlib流包括

C#DeflateStream在放气流上工作(您猜对了)。MizardX的代码告诉zlib模块数据是原始的deflate流。

观察结果:(1)有人希望C#的“放气”方法产生更长的字符串仅在输入短时才会发生(2)是否使用未使用Adler-32校验和的原始放气流?有点冒险,除非用更好的东西代替。

如果您尝试使用C#充入一些压缩数据DeflateStream并收到该消息,则很有可能将其提供给zlib流,而不是deflate流。

请参阅如何在文件的一部分上使用DeflateStream?

还将错误消息复制/粘贴到Google搜索中,您将获得无数次点击(包括此答案前面的几则),说的差不多。

“网站”使用 … C#DeflateStream“非常简单,并且已经针对Java实现进行了测试”。网站正在使用以下哪些可能的Java Deflater构造函数

public Deflater(int level, boolean Nowrap)

使用指定的压缩级别创建一个新的压缩器。如果’Nowrap’为true,则将不使用ZLIB标头和校验和字段以支持在GZIP和PKZIP中使用的压缩格式。

public Deflater(int level)

使用指定的压缩级别创建一个新的压缩器。压缩数据将以ZLIB格式生成

public Deflater()

使用认压缩级别创建一个新的压缩器。压缩数据将以ZLIB格式生成

uncompressed_string.encode('zlib')[2:-4] # does not work in Python 3.x

要么

zlib.compress(uncompressed_string)[2:-4]
python 2022/1/1 18:24:44 有173人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶