c++ cstring utf-8 转unicode
1个回答
展开全部
#include <atlstr.h>
#include <windows.h>
int main()
{
CStringA strUtf8("\xE8\xBF\x99\xE6\x98\xAF\xE4\xB8\x80\xE4\xB8\xAA\xE5\xAD\x97\xE7\xAC\xA6\xE4\xB8\xB2");
CStringW strUnicode;
int nStrUtf8Len = strUtf8.GetLength();
int nStrUnicodeLen;
nStrUnicodeLen = MultiByteToWideChar(CP_UTF8, 0, static_cast<const char*>(strUtf8), nStrUtf8Len, 0, 0);
wchar_t* pStrUnicode = strUnicode.GetBufferSetLength(nStrUnicodeLen);
MultiByteToWideChar(CP_UTF8, 0, static_cast<const char*>(strUtf8), nStrUtf8Len, pStrUnicode, nStrUnicodeLen);
strUnicode.ReleaseBuffer();
MessageBoxW(0, static_cast<const wchar_t*>(strUnicode), L"test", MB_OK);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询