一.python2
python2中默认以ASCII编码
str='hello world'
gbk_to_unicode=str.decode('gbk')#将gbk解码为unicode
print(gbk_to_unicode)
unicode_to_utf-8=gbk_to_unicode.encode('utf-8')#将unicode编码为utf-8
print(unicode_to_utf-8)
二.python3
python3文本默认是以Unicode编码
str='hello world'
unicode_to_gbk=str.encode('gbk')
print(unicode_to_gbk)#此处输出为byte类型的gbk编码的内容,即在编码的同时将字符串转换成了byte类型
gbk_to_utf-8=unicode_to_gbk.decode('utf-8')#此处在解码的同时将byte转换成了字符串
print(gbk_to_utf-8)
编码就是将字符串转变为byte,解码就是byte转变为str,str是unicode,byte具体看以什么类型编码的
gbk编码中汉字占2个字节,utf8中占3个字节
感觉此处内容有些复杂,不敢确认上述内容是否正确,还请路过的前辈补充指点。