在处理中文字符时经常出现乱码,在对比字符串时要确保编码一致再进行对比。从mysql数据库导出数据时数据是放在unicode编码的tuple中。
所以要注意使用encode,unicode,decode编解码函数。
decode函数将当前字符按传入参数类型转换成unicode编码类型。
encode函数功能和decode函数功能相反,是将当前字符串类型当作unicode类型转换成为传入参数类型。
给出例子:
str = '分发图强'
print type(str.decode('utf8'))
#这样就把str > unicode
str = '\u594b\u53d1\u56fe\u5f3a'
print type(str.decode('unicode_escape'))
这样就把str的unicode_escape编码转换成了 > unicode
转换编码还可以用这样的方法:
eval('u"%s"' % str)#很神器将字符串str当成有效的表达式来求值并返回计算结果。可以仔细研究下
json.loads('"%s"' %str)#也会默认解码utf-8为unicode