在python示例之后,我将一个字符串编码为Base64,使用:
>>> import base64
>>> encoded = base64.b64encode(b'data to be encoded')
>>> encoded
b'ZGF0YSB0byBiZSBlbmNvZGVk'
但是,如果我省略前导b
:
>>> encoded = base64.b64encode('data to be encoded')
我得到以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python32\lib\base64.py", line 56, in b64encode
raise TypeError("expected bytes, not %s" % s.__class__.__name__)
TypeError: expected bytes, not str
为什么会这样?