我一直试图在UTF8和UTF16 LE之间转换BOM,使用C++使字符在Windows上正确输出,而不必更改终端的字体。
我试着修改代码页,但是它们没有工作。
我有两个问题,
例如,
wcout << L"\u00A0" << endl;当使用代码页850时,此代码在Windows上输出字母á。如何将变量替换为"\u00A0",以便将普通字符串转换为宽字符?
我想要的是:
wcout << Lsome_variable << endl;我意识到这不是有效的c++语法,但有人知道我如何做到这一点吗?还是有更好的方法?
发布于 2014-07-20 17:30:52
正如注释中所指出的,标准库现在提供了类似于convert (以及页面中的其他函数/类)之类的功能。
因为您在Windows上,所以WinAPI也有转换函数。在这种情况下,您将寻找MultiByteToWideChar,它可以用于从UTF-8转换到UTF-16。
在这些选项之间,某些东西应该适合您的用例。一般来说,你永远不需要写你自己的转换图。
https://stackoverflow.com/questions/24852453
复制相似问题