A-A+
为什么C语言写文件有时是ANSI有时是UTF8格式
摘要:可能和编辑器保存时的格式有关。 一般对于UTF-16等格式,会在文件开头加上一个byte order mark,即BOM,用来在加载时识别该文件编码。 对于没有BOM的文...
可能和编辑器保存时的格式有关。
一般对于UTF-16等格式,会在文件开头加上一个byte order mark,即BOM,用来在加载时识别该文件编码。
对于没有BOM的文件,一般编辑器会读取一定的内容,对该内容进行分析,并猜测对应的文件编码,所以这种文件不是所有时候会被正确识别,所以会出现乱码。
而对于UTF-8,如果保存时没有加上对应的BOM,那么可能编辑器在加载时会误认为ANSI。
但是由于UTF-8向下兼容ANSI,所以一个以ANSI保存的文件可以用UTF-8格式打开。
语音读文: