在用python的过程中,有个很蛋疼的问题就是python有python 2.X和python3.X,现在基本上2.X已经不更新了,所有后面学习的直接学3.X就可以了,但是以前一些项目是2.X的,搞清楚里面的编码还是很有必要的。
Python 2.X默认是ASCII编码的,而Python 3.X默认是utf-8。字符串在2.X有二种类型(str()和unicode()):
s1="str"
s1=u"unicode"
3.X里面的字符串只有一种str()类型,这里的str()类型等价于py3里面的unicode类型:
s1="str"
s1=u"str"
在3.X也新增了bytes类型:
s3= b'bytes'
这个bytes主要处理二进制数据。str对象和bytes对象可以使用encode()/decode()方法相互转化。
b=b'python'
s = b.decode()
print (type(s))
b2=s.encode()
print (type(b2))
<class 'str'>
<class 'bytes'>