1
>>> import bz2
>>> bz2.compress('hi')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/ryan/anaconda/lib/python3.4/bz2.py", line 498, in compress
return comp.compress(data) + comp.flush()
TypeError: 'str' does not support the buffer interface

文字列を入力として使用する例を見てきましたが、うまくいきません

4

1 に答える 1

7

圧縮アルゴリズムは、テキストではなくバイトを圧縮します。

3>> bz2.compress(b'hi')
b'BZh91AY&SY\x9a\x89\xb4"\x00\x00\x00\x01\x00\x00` \x00!\x00\x82\xb1w$S\x85\t\t\xa8\x9bB '
3>> bz2.compress('hi'.encode('utf-8'))
b'BZh91AY&SY\x9a\x89\xb4"\x00\x00\x00\x01\x00\x00` \x00!\x00\x82\xb1w$S\x85\t\t\xa8\x9bB '
于 2015-12-23T05:29:22.923 に答える