【发布时间】:2020-10-01 16:49:44
【问题描述】:
这个问题被here 和here 多次回答,但没有完全回答。由于解压不会产生原始字符串。
>>> s = "some string to test zlib"
>>> z = zlib.compress(s)
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: a bytes-like object is required, not 'str'
>>> z = zlib.compress(s.encode("utf8"))
>>> y = zlib.decompress(z)
>>> y
b'some string to test zlib'
>>> print (s, y)
some string to test zlib b'some string to test zlib'
所以解压返回“b''”中包含的原始字符串
>>> p = str(y)
>>> p
"b'some string to test zlib'"
顺便说一句,gzip 的行为相同。
【问题讨论】: