然则python3中多出一种字符串(引荐进修:Python视频教程)
type(b'132') => byte型
而在python2中如许写就会报错
所以不言而喻,decode和encode的运用也会有很大的区分
python2中的decode是将str型转换为unicode型
python3中的decode是将byte型转换为str型
以python3为例:
src = ‘你好天下’
此时的str为 str范例,假如须要把它转乘byte范例,能够经由过程:
src = src.encode('utf-8')
此时src已是byte范例了,假如想再转回str,直接运用:
src = src .decode()
别的,python3中open函数加上了encoding参数,且默许为utf-8,即翻开的文件据柄举行read或许write时,只吸收包括unicode花样的str字符穿。
此时假如传入二进制文件的话,则会报错,比方:
with open('a.bin', 'w') as f: f.write('xxx')
假如想要读写二进制文件的话,须要指定翻开方式为‘wb’ 或许 ‘rb’
别的,假如抓取网页时,发明没法一般显现,则须要对内容举行转码。
更多Python相干技术文章,请接见Python教程栏目举行进修!
以上就是python2和python3字符串区分的细致内容,更多请关注ki4网别的相干文章!