我有一个例子zlib
给出了意想不到的结果。
如果我从压缩一个简单的字符串开始:
>>> import zlib
>>> import binascii
>>> compressed = binascii.hexlify(zlib.compress('first_message'))
>>> compressed
'789c4bcb2c2a2e89cf4d2d2e4e4c4f05002651056d'
现在,如果我做相反的事情,我会得到我所期望的:
>>> zlib.decompress(compressed.decode("hex"))
'first_message'
但是,如果我尝试这样做,我会得到意想不到的结果:
>>> d = zlib.decompressobj()
>>> d.decompress(compressed.decode("hex"))
'first_message'
>>> d = zlib.decompressobj()
>>> d.decompress(compressed[:-2].decode("hex"))
'first_message'
我在这里想念什么?为什么这两个返回相同的结果?