python3.3中为什么decode报错?? 我使用python3.3在用encode()时,没

python3.3中为什么decode报错??我使用python3.3在用encode()时,没有错误,可是decode()时,却提示不支持,这怎么办啊,新手求解……我用... python3.3中为什么decode报错?? 我使用python3.3在用encode()时,没有错误,可是decode()时,却提示不支持,这怎么办啊,新手求解…… 我用的utf-8 展开
 我来答
mayadong7349
2014-06-27 · TA获得超过2356个赞
知道大有可为答主
回答量:362
采纳率:0%
帮助的人:672万
展开全部

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它提示不支持啊……
谢谢你,我写重复了……
知道了,正常的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式