如何从 UTF16 编码的字符串中获取解码后的字符串

How to get decoded String from UTF16 encoded String

我正在尝试从 UTF16 编码的字符串中获取解码后的字符串。

UTF16的当前值为\u5f00\u53d1\u8005,原始字符串为开发者 换句话说,\u5f00\u53d1\u8005 ==> 开发者 使用 C++`。

如何使用 C++ 执行此操作?

假设您将其存储在 wchar_t 数组或 std::string 中,这只是正确设置您的环境以处理宽字符的问题,以这个控制台为例:

#include <iostream>
#include <fcntl.h>

int main(){

  _setmode(fileno(stdout), _O_WTEXT);
  const wchar_t str[] = L"\u5f00\u53d1\u8005";
  //std::wstring str = L"\u5f00\u53d1\u8005";
  std::wcout << str;
    
}

就这么简单

要与 mfc 一起使用,特别是也许您应该看看 MultiByteToWideChar and/or WideCharToMultiByte

Code Project 中还有 this post,可能正是您所需要的。