python里面的write写文件的时候,一般默认的编码格式是ANSI或者其他,但不特殊指定的话就不会是UTF-8格式的文件。很多时候中文字符尽管在写入文件时已经编码成了utf-8格式,但是打开文件发现居然还是乱码,这是因为文件本身不是utf-8编码格式的问题!
那怎么获得UTF-8编码的文件呢?
我们首先来做一个测试,随便用python的write写一个文件,比如:
fh = open("a.txt", "w")我们把得到的a.txt右击用记事本的方式打开,然后另存为编码格式为utf-8的文件b.txt.然后用UltraEdit工具打开b.txt,以十六进制格式查看,可以看到文件内容的开头有EFBBBF字符,这几个字符就是UTF-8编码格式文件的标志。那我们要在写文件的时候生成utf-8文件,完全可以把这几个字符写入到文件中:
fh.write("Hello")
fh.close()
fh = open("ua.txt","w")
fh.write('\xEF\xBB\xBF')
#然后再写入你想要写入的内容即可#
fh.close()
希望大家一起进步!