GCC和VS对BOM头处理有何不同? 89 次浏览 Windows平台因为有ANSI编码的历史残留,在越入Unicode世界总是有那么一点格格不入。以Windows ANSI编码为GB2312,源代码是UTF-8编码为例: VS:w/ BOM: 处理正常, w/o BOM会报错,因为它按照ANSI编码处理源代码编码和源代码字符串编码。 GCC:带不带BOM,都可以正常处理。 源代码都可以编译过的情况下,VS默认字符串编码是ANSI编码,而GCC是保持和源代码一致的UTF-8格式,这将影响到字符串的二进制表示。