关于python 字符编码的一些认识
程序员文章站
2023-11-16 11:59:34
使用python,是因为他的美;
以下说明常用的字符编码在python中的应用:
s = "中国a"
print repr(s) #输出原始字符 是以十六...
使用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 的字符编码方式其实很简单,但有时候总是误入歧途,嘿
现做以上总结,望今后能铭记于心,不犯同类错误