在利用python进行文本处理时常常涉及到文本格式的转换。以下代码可以方便的实现文件格式的转换
先解码再编码string.decode('GBK').encode('utf-8')
#实现由gbk到utf-8的转换
函数如下:
#修改文件编码格式
def ChangeEncode(file,fromEncode,toEncode):
try:
f=open(file)
s=f.read()
f.close()
u=s.decode(fromEncode)
s=u.encode(toEncode)
f=open(file,"w");
f.write(s)
return 0;
except:
return -1;
注: gb2312不等于gbk,凡 gb2312 的请换成 gb18030。微软将 gb2312 和 gbk 映射为 gb18030,方便了一些人,也迷惑了一些人。实际上由于GB18030从字符数上都涵盖了GB2312和GBK,所以如果是上述两种任意情况,即只要是中文字符出现乱码,不管是标称GB2312中用到了GBK,还是标称GBK中用到了GB18030,那么都直接传递GB18030。