不是这么简单
1. cpp 源代码在中文平台是默认 GBK 编码的。几种编译器一般不做转化,直接存储到 exe 里面。
2. cpp11 以后有 u8"", u"" 这样的字符串形式,但是不普及。开源软件很多不用。
3. windows 的 IO 依赖于当前 locale,经常需要程序自己转化。
4. msvc 对 utf-8 的支持在各个版本间变来变去,直到现在还有人在用着 msvc 2008 呢。不容易兼容。
【 在 vonNeumann (劣币驱逐良币 | 少灌水) 的大作中提到: 】
: Windows 上的正确姿势是在程序内部始终使用 WCHAR(就是微软所谓的 "Unicode",实际上特指 UTF-16),只在输入输出时若有必要才进行编码转换
--
FROM 112.47.122.*