python中文处理好方法
(转载 URL:http://www.pythonid.com/bbs/viewthread.php?tid=20&extra=page%3D1)
(转载 URL:http://www.pythonid.com/bbs/viewthread.php?tid=20&extra=page%3D1)
用python处理字符串很容易,但是在处理中文的时候需要注意一些问题。
比如:
a = "我们是python爱好者"
print a[0]
只能输出“我”字的前半部分,要想输出整个的我字还需要
b = a[0:2]
print b
才行,很不方便,并且当一段文本中同时有中英文的时候很难处理。
最好的办法就是转换为unicode。
像这样:
c = unicode(a, "gb2312")
print c[0]
这个时候c的下标对应的就是每一字,不再是字节,并且通过 len(c) 就可以获得字数!
还可以很方便的转换为其他编码,比如转换为 utf-8
d = c.encode("utf-8")
比如:
a = "我们是python爱好者"
print a[0]
只能输出“我”字的前半部分,要想输出整个的我字还需要
b = a[0:2]
print b
才行,很不方便,并且当一段文本中同时有中英文的时候很难处理。
最好的办法就是转换为unicode。
像这样:
c = unicode(a, "gb2312")
print c[0]
这个时候c的下标对应的就是每一字,不再是字节,并且通过 len(c) 就可以获得字数!
还可以很方便的转换为其他编码,比如转换为 utf-8
d = c.encode("utf-8")