我如何写一个std :: codecvt方面? 我想写从UTF-16到UTF-8,从UTF-16到系统当前代码页(窗口,所以CP_ACP),并到系统的OEM代码页(窗口,所以CP_OEM)。
跨平台是首选,但Windows上的MSVC也是好的。 是否有任何types的教程或任何有关如何正确使用这个类的性质?
我写了一个基于iconv的。 它可以在Windows或任何POSIX操作系统上使用。 (你将需要显然与iconv链接)。
请享用
“如何”问题的答案是遵循codecvt的参考 。 两年前,我在互联网上找不到更好的指示。
重要通知
这个std :: codecvt的问题是它寻找一个问题的解决方案。 或者说,它试图解决的问题是无法解决的,所以任何试图将其用作解决方案的人都会感到非常失望。
如果你不知道你的输入或输出是哪个字符集,那么std :: codecvt是不会帮助你的。 相反,如果你知道你正在使用哪个字符集,那么你可以在一个函数调用之间进行简单的转换。 在复杂的模板中包装该函数调用不会改变这些基础。
…这就是为什么没有人使用std :: codecvt。 我建议你做别人做的事,假装从来没有发生过。