Python2中系统默认编码是ASCII码,即使在文件中声明了coding为utf-8,在执行str(unicode)默认使用ASCII进行编码,执行unicode(str),默认使用ASCII进行解码
python2中有两种类型字符串:
<type 'str'>和<type 'unicode'>
str-->unicode是解码过程,使用unicode(str),或者str.decode('utf-8')
unicode-->str是编码过程,使用str(unicode),或者unicode.encode('utf-8')
unicode码是唯一的,但对于unicode码的编码可以采取不同的编码方式,如下图:
只有编码格式和解码格式保持一致,才能避免出现中文乱码或异常
可使用repr()函数来查看字符在python解释器中实际存储的字节码
网友评论