为什么C语言写文件有时是ANSI有时是UTF8格式

如题所述

可能和编辑器保存时的格式有关。一般对于UTF-16等格式,会在文件开头加上一个byte order mark,即BOM,用来在加载时识别该文件编码。对于没有BOM的文件,一般编辑器会读取一定的内容,对该内容进行分析,并猜测对应的文件编码,所以这种文件不是所有时候会被正确识别,所以会出现乱码。而对于UTF-8,如果保存时没有加上对应的BOM,那么可能编辑器在加载时会误认为ANSI。但是由于UTF-8向下兼容ANSI,所以一个以ANSI保存的文件可以用UTF-8格式打开。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-09
根据系统当前的编码设置还有你当前编译器的编码设置
第2个回答  2014-03-09
文本编辑器的设置问题,
相似回答