用python转换不同编码的文本文件

这本来应该是一个很简单的问题,一开始被我想复杂了。弄得绕了很大一个圈。

先说事例:

得到一个big5编码的文本文件,用记事本打开显示为乱码,想转换保存为UTF-8或gb-2312编码文档,就这么回事!

开始以为要用到encode()和decode()进行内码转换后再保存,结果py总是报错……后来发现:

在Python3.x以后,f.read()的文本内容都自动转换为Unicode,文本文档保存为哪种编码,由打开文件的encoding参数决定。

因此,将big5编码的文件(本例:big5.txt)转存为UTF-8编码的文件(本例:UTF8.txt),只需如下操作:

bg=open('big5.txt','r',encoding='big5')

ut=open('utf8.txt','w',encoding='utf-8')

ut.write(bg.read())

bg.close()

ut.close()

猜你喜欢

转载自blog.csdn.net/weixin_43609059/article/details/83929073