旗下导航:搜·么
当前位置:网站首页 > Python教程 > 正文

python2和python3字符串区分【Python教程】,python

作者:搜教程发布时间:2019-11-27分类:Python教程浏览:64评论:0


导读:Python2中,字符串没法完整地支撑国际字符集和Unicode编码。为了处理这类限定,Python2对Unicode数据运用了零丁的字符串范例。要输入Unicode字符串字面量,...
Python2中,字符串没法完整地支撑国际字符集和Unicode编码。为了处理这类限定,Python2对Unicode数据运用了零丁的字符串范例。要输入Unicode字符串字面量,要在第一个引号前加上'u'。Python2中一般字符串实际上就是已编码(非Unicode)的字节字符串。在Python3中,没必要到场这个前缀字符,否则是语法错误,这是由于一切的字符串默许已是Unicode编码了。

然则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网别的相干文章!

标签:python


欢迎 发表评论: