python中文处理相信迷惑了很多同学。 介绍python2/3的encode和decode函数。
python2使用decode (和encode ) )进行解码和编码,并将unicode类型作为中间类型。 也就是说
解码编码
str------ unicode-----str
示例(请注意,encode和decode编码必须一致。)
u=u '中文' #unicode对象u
#gb2312_str=u.encode(GB2312 ) ) GB2312编码字符串
gbk_str=u.encode(gbk ) #gbk编码字符串
UTF8_str=u.encode(utf-8 ) #utf-8编码字符串
GB 2312 _ u=GB 2312 _ str.decode (GB 2312 ) ) #gb2312编码的unicode
UTF8_u=GB2312_str.decode(utf-8 ) ) #utf-8编码的unicode无法恢复原始的unicode类型,因为编解码方法不匹配
python2编解码处理jmdjm很复杂。 因此,在python3中,我们废除了unicode类型,而不是用unicode编码的字符串类型str。 str和bytes的关系如下。
编码解码
str------ bytes------ str