- 只有在unicode下才能将utf-8与gbk互转
- unicode是在内存中使用,bytes是文件存储和网络传输时使用
py3和py2对比
-
py3时:
a=“中国” 和a=u"中国" 是一个意思,都表示str类型unicode存储类型,即默认是unicode存储类型
c=b"中国" 表示str类型bytes存储类型 -
py2时:
a=“中国” 和a=b"中国" 是一个意思,表示str类型bytes存储类型,即默认是bytes存储类型
a=u"中国" 表示str类型unicode存储类型
转换
-
py3
py3时:
unicode 类型— encode —> bytes 类型
示例:
s1=“hello world !” //s1表示str类型unicode存在类型
type(s1)
s2=s1.encode(“utf-8”) //表示把s1转换成str类型bytes存在类型,并赋值给s2
或s2=s1.encode(“gbk”) //表示把s1转换成str类型bytes存在类型,并赋值给s2
type(s1)
type(s2)
print (s2)
-
py2
py2时:
bytes 类型— decode —> unicode 类型
s1=b"love" // s1表示str类型bytes存在类型
type(s1)
s2=s1.decode(“utf-8”) // 表示把s1转换成str类型unicode存在类型,并赋值给s2
或s2=s1.decode(“gbk”) // 表示把s1转换成str类型unicode存在类型,并赋值给s2
type(s1)
type(s2)
print (s2)