关于 python 字符编码的一些认识
使用python,是因为他的美;
以下说明常用的字符编码在python中的应用:
s = "中国a" print repr(s) #输出原始字符 是以十六进制表示 # '\xd6\xd0\xb9\xfaa' #Ansi字符串我们最熟悉,英文占一个字节,汉字2个字节,以一个\0结尾,常用于txt文本文件 #Unicode字符串,每个字符(汉字、英文字母)都占2个字节,以2个连续的\0结尾 #utf-8英文1个字节,中文3个字节 s1 = s.decode('gbk') //以十六进制存储就是已经编过码的了 所以要解码 #u'\u4e2d\u56fda' s2 = s1.encode('utf-8') //对unicode字符进行编码,编成utf-8格式 #'\xe4\xb8\xad\xe5\x9b\xbda' s3 = s2.decode('utf-8') //既然是用utf-8格式编码,当然要用utf-8格式进行解码 #u'\u4e2d\u56fda' s4 = s3.encode('gbk') //最后当然是编码成常用的中文编码格式啦 #'\xd6\xd0\xb9\xfaa' #其实说到底是一个表达式而已 print s.decode('gbk').encode('utf-8').decode('utf-8').encode('gbk') #中国a 所以,python 的字符编码方式其实很简单,但有时候总是误入歧途,嘿 现做以上总结,望今后能铭记于心,不犯同类错误
学习笔记转摘于:
丝酷网 http://www.pythonschool.com/