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

2024-12-05 05:24:17
推荐回答(3个)
回答1:

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

回答2:

根据系统当前的编码设置还有你当前编译器的编码设置

回答3:

文本编辑器的设置问题,