python编码类型互转总结

1、只有在unicode下才能将utf-8与gbk互转
2、unicode是在内存中使用,bytes是文件存储和网络传输时使用
------------------------------------------------------------
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)

原文地址:https://www.cnblogs.com/whitemouseV2-0/p/9925422.html