我需要将string
转换为wchar_t
。我尝试了很多不同的方法,但我一直遇到西里尔文的问题。使用wcout
进行调试时,输出错误,但只使用拉丁字符时,不会出现问题。
那么如何将包含西里尔字符的string
转换为wchar_t
?
UPD:
我发现了问题,我在使用wcout
进行调试时犯了一个错误,我总是得到错误的输出。但我手动重新检查字符代码,它真的是UTF-16
。我不知道如何通过UTF-16
将正确的输出wcout
输入控制台,但对我来说并不重要。
答案 0 :(得分:1)
首先,您还需要了解该库所需的wchar_t
大小。它可能是不同系统上的16位或32位。然后你可以使用std::wstring_convert::from_bytes
。 This SO answer对您也很有用。