Home  >  Article  >  Backend Development  >  python 中文字符串的处理实现代码

python 中文字符串的处理实现代码

WBOY
WBOYOriginal
2016-06-06 11:26:441237browse

>>> teststr = '我的eclipse不能正确的解码gbk码!'
>>> teststr
'\xe6\x88\x91\xe7\x9a\x84eclipse\xe4\xb8\x8d\xe8\x83\xbd\xe6\xad\xa3\xe7\xa1\xae\xe7\x9a\x84\xe8\xa7\xa3\xe7\xa0\x81gbk\xe7\xa0\x81\xef\xbc\x81'
>>> tests2 = u'我的eclipse不能正确的解码gbk码!'
>>> test3 = tests2.encode('gb2312')
>>> test3
'\xce\xd2\xb5\xc4eclipse\xb2\xbb\xc4\xdc\xd5\xfd\xc8\xb7\xb5\xc4\xbd\xe2\xc2\xebgbk\xc2\xeb\xa3\xa1'
>>> test3
'\xce\xd2\xb5\xc4eclipse\xb2\xbb\xc4\xdc\xd5\xfd\xc8\xb7\xb5\xc4\xbd\xe2\xc2\xebgbk\xc2\xeb\xa3\xa1'
>>> teststr
'\xe6\x88\x91\xe7\x9a\x84eclipse\xe4\xb8\x8d\xe8\x83\xbd\xe6\xad\xa3\xe7\xa1\xae\xe7\x9a\x84\xe8\xa7\xa3\xe7\xa0\x81gbk\xe7\xa0\x81\xef\xbc\x81'
>>> test3.decode('gb2312').encode('utf-8')
'\xe6\x88\x91\xe7\x9a\x84eclipse\xe4\xb8\x8d\xe8\x83\xbd\xe6\xad\xa3\xe7\xa1\xae\xe7\x9a\x84\xe8\xa7\xa3\xe7\xa0\x81gbk\xe7\xa0\x81\xef\xbc\x81'
>>> test3.decode('gb2312').encode('utf-8') == teststr
True
如上所见,test3变量(gb2312编码)经过解码(变成unicode字符串)后再使用utf-8编码,就成了与teststr值相同的串了.

通过上面的例子我们也发现,unicode字符串是gb2312字符串(windows就使用这种格式)与utf-8字符串(python本身使用)之间的一座桥梁.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn