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

yipeiwu_com5年前Python基础
>>> 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本身使用)之间的一座桥梁.

相关文章

3分钟学会一个Python小技巧

Python时间日期转换在开发中是非常高频的一个操作,你经常会遇到需要将字符串转换成 datetime 或者是反过来将 datetime 转换成字符串。 datetime 分别提供了两个...

python中open函数的基本用法示例

前言 本文主要介绍的是关于python中open函数用法的相关资料,用法如下: name = open('errname.txt','w')<br>name.readli...

Python实现的摇骰子猜大小功能小游戏示例

Python实现的摇骰子猜大小功能小游戏示例

本文实例讲述了Python实现的摇骰子猜大小功能小游戏。分享给大家供大家参考,具体如下: 最近学习Python的随机数,逻辑判断,循环的用法,就想找一些练习题,比如小游戏猜大小,程序思路...

PyCharm在新窗口打开项目的方法

PyCharm在新窗口打开项目的方法

File->Setting 找到Appearance & Behavior -->System Setting,在右边窗口中选择 Open project in new wi...

python使用any判断一个对象是否为空的方法

本文实例讲述了python使用any判断一个对象是否为空的方法。分享给大家供大家参考。 具体实现代码如下: 复制代码 代码如下:>>> eth = {"eth0″:"1...