我们程序文件的字符集就是我们写出来的.c扩展名的文件的字符集,这里用的是系统默认的 ANSI 字符集,如下图:
上面的字符集我们不关心,我们关心的是 源程序的字符集 和程序的 执行字符集 ,源程序的字符集是我们在编译程序时指定的编译选项,这里我们选择UNICODE,如图:
而程序的执行字符集则不好确定了,如果我们执行程序的操作系统是 UNICODE 字符集,那么执行字符集就是 UNICODE 字符集,如果我们执行程序的的操作系统 ASCII 字符集,那么执行字符集就是 ASCII 字符集。
假设我们把一个 UNICODE 字符集的程序在 ASCII 字符集的操作系统上执行,则很可能会出现乱码,因为 UNICODE 字符集和 ASCII 字符集对字符的编码不相同,而且UNICODE 字符集中的字符数目远远超出 ASCII 字符集,很可能遇到ASCII 字符集无法表示的字符。