Python 2.7中文处理
python3对中文应该是友好一些,只不过目前工作用到的是2.7
目前理解:
str在python中内部是unicode编码,在做编码转换时,通常要以unicode作为中间码,
要先知道原str的编码,然后使用decode解码成unicode,再转换encode成其他编码(如常用的utf-8)
显示中文
Python2.7默认使用的字符集是ASCII,只是让你的程序在运行的过程中显示中文.
过滤中文字符
1 2 3
| regex = re.compile(u'[\u4e00-\u9fa5]+') if regex.search(i) is None:
|
设置系统默认字符编码
1 2 3
| import sys reload(sys) sys.setdefaultencoding('utf-8')
|
编码和解码
1 2 3 4 5 6
| # 编 def encode_utf8(string): return string.encode('utf-8') # 解 def decode_utf8(string) return unicode(string, encoding='utf-8')
|
类似\xe6\x8f…转中文
1 2 3
| print(str.strip().decode('utf-8')) #或者 b"str".decode('utf-8')
|