python3.3中为什么decode报错?? 我使用python3.3在用encode()时,没
python3.3中为什么decode报错??我使用python3.3在用encode()时,没有错误,可是decode()时,却提示不支持,这怎么办啊,新手求解……我用...
python3.3中为什么decode报错?? 我使用python3.3在用encode()时,没有错误,可是decode()时,却提示不支持,这怎么办啊,新手求解…… 我用的utf-8
展开
1个回答
展开全部
Python 3中的str类型对象有点像Python 2中的unicode。
Python 3中的str是未编码的,str有一个encode方法,调用这个方法后将产生一个编码后的byte类型的字符串(这有点像Python 2中的str)。而byte类型的字符串支持解码操作。
例如:
>>> s = '海阔天空'
>>> hasattr(s, 'decode')
False
>>> bs = s.encode('utf-8')
>>> type(bs)
<class 'bytes'>
>>> bs
b'\xe6\xb5\xb7\xe9\x98\x94\xe5\xa4\xa9\xe7\xa9\xba'
>>> hasattr(bs, 'encode')
False
>>> bs.decode('utf-8')
'海阔天空'
注意:Python 3中str不再具有decode方法,因为它存储的是“未编码”的字符串。decode操作交由byte完成了。
更多追问追答
追问
可是我用decode它提示不支持啊……
谢谢你,我写重复了……
知道了,正常的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询