Python3中str和byte需要显示转换

Python2.x中str和byte之间没有明显区别,如果不指定编码格式,默认的编码是ascii,不进行转换会出现“UnicodeDecodeError: 'ascii' codec can't decode byte ”的错误,因此经常要依赖于defaultencoding来做转换,如下:

import sys
reload(sys)
sys.setdefaultencoding('utf8')

Python3.x中已经明确了str和byte的类型区别,需显示的进行类型转换,因此不需要上边代码块的这个转换了,并且sys中也没有了setdefaultencoding。

s1 = 'python3中的字符串'
b1 = s1.encode('utf-8')
print(b1)
s2 = b1.decode('utf-8')
print(s2)

输出结果:

b'python3\xe4\xb8\xad\xe7\x9a\x84\xe5\xad\x97\xe7\xac\xa6\xe4\xb8\xb2'
python3中的字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值