我正在与服务器连接,该服务器要求发送给它的数据使用Deflate算法(Huffman编码+ LZ77)进行压缩,并且还发送我需要的数据以进行Inflate.
我知道Python包含Zlib,并且Zlib中的C库支持对Inflate和Deflate的调用,但这些显然不是由Python Zlib模块提供的.它提供压缩和解压,但是当我拨打电话,如下列:
result_data = zlib.decompress( base64_decoded_compressed_string )
我收到以下错误:
Error -3 while decompressing data: incorrect header check
Gzip并没有更好; 在打电话时如:
result_data = gzip.GzipFile( fileobj = StringIO.StringIO( base64_decoded_compressed_string ) ).read()
我收到错误:
IOError: Not a gzipped file
这是有道理的数据是平减文件不是真正的Gzip压缩文件.
现在我知道有一个Deflate实现可用(Pyflate),但我不知道Inflate的实现.
似乎有几个选择:
我正在寻求解决方案,但缺乏解决方案,我将感谢见解,建设性意见和想法.
附加信息:为了我需要的目的,放松(和编码)字符串的结果应该与下面的C#代码片段给出相同的结果,其中输入参数是与要压缩的数据相对应的UTF字节数组:
public static …