python-字符转换遇到的问题

1,异常: 'ascii' codec can't encode characters

字符集的问题,在文件前加两句话:
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )

2,unicode中的‘\xa0’字符在转换成gbk编码时会出现问题,gbk无法转换'\xa0'字符。

所以,在转换的时候必需进行一些前置动作:

string.replace(u'\xa0', u' ')  

将'\xa0‘替换成u' '空格。

3

 1 #! /usr/bin/env python
 2 #coding=utf-8
 3 s=raw_input()
 4 print s,type(s),len(s)
 5 s=s.decode("gbk")
 6 print s,type(s),len(s)
 7 s=s.encode("utf-8")
 8 print s,type(s),len(s)
 9 s="中国"
10 print s,type(s),len(s)

 

1 中国
2 中国 <type 'str'> 4
3 中国 <type 'unicode'> 2
4 中国 <type 'str'> 6
5 中国 <type 'str'> 6

raw_input读入是gbk编码的,汉字和字母都是

 

4正则匹配language

#get each language parts:
findPart(u"[\u4e00-\u9fa5]+", usample, "unicode chinese")
findPart(u"[\uac00-\ud7ff]+", usample, "unicode korean")
findPart(u"[\u30a0-\u30ff]+", usample, "unicode japanese katakana")
findPart(u"[\u3040-\u309f]+", usample, "unicode japanese hiragana")
findPart(u"[\u3000-\u303f\ufb00-\ufffd]+", usample, "unicode cjk Punctuation")

posted @ 2014-08-27 16:01  fkissx  阅读(375)  评论(0)    收藏  举报