python3编码转换

 1 a='我很好'        #python3 默认的编码为unicode
 2 print('我是a',a,type(a))        #打印结果:<class 'str'>
 3 #把a转成gb2312
 4 a_gb2312=a.encode('gb2312')        #默认是unicode所以不需要decode(),直接encode成想要转换的编码gb2312
 5 print('我是gb2312',a_gb2312,type(a_gb2312))        #打印结果:我是gb2312 b'\xce\xd2\xba\xdc\xba\xc3' 
 6 #把a转成utf8
 7 a_utf8=a_gb2312.decode('gb2312').encode('utf-8') 
 8 #当前字符为gb2312所以要先decode成unicode(decode中传入的参数为当前字符的编码集)然后再encode成utf-8
 9 print('我是utf-8',a_utf8,type(a_utf8))            #打印结果: 我是utf-8 b'\xe6\x88\x91\xe5\xbe\x88\xe5\xa5\xbd'
10 #把a转成gbk
11 a_gbk=a_utf8.decode('utf-8').encode('gbk')
12 #当前字符集编码为utf-8要想转换成gbk先decode成unicode字符集再encode成gbk字符集
13 print("我是gbk",a_gbk,type(a_gbk))        #打印结果: 我是gbk b'\xce\xd2\xba\xdc\xba\xc3'
14 #把a转成gb18030
15 a_gb18030=a_gbk.decode('gbk').encode('gb18030')
16 #当前字符集编码为gbk要想转换成gb18030先decode成unicode字符集再encode成gb18030字符集
17 print('我是gb18030',a_gb18030,type(a_gb18030))        #打印结果: 我是gb18030 b'\xce\xd2\xba\xdc\xba\xc3'
18 #把a转成uicode
19 a_unicode=a_gb18030.decode('gb18030')        #注意当转换成unicode时 并不需要encode()
20 print('我是unicode',a_unicode,type(a_unicode))        #打印结果: 我是unicode 我很好
21
22 #总结各个编码的互相转换都要先转换成unicode然后通过unicode再转换成想要的编码


 

猜你喜欢

转载自www.cnblogs.com/zmm666/p/10291985.html