|
发表于 2020-7-21 13:53:22
|
显示全部楼层
本帖最后由 xiaosi4081 于 2020-7-21 13:54 编辑
先把它转成utf-8编码试试:
- std::string string_To_UTF8(const std::string & str)
- {
- int nwLen = ::MultiByteToWideChar(CP_ACP, 0, str.c_str(), -1, NULL, 0);
-
- wchar_t * pwBuf = new wchar_t[nwLen + 1];//一定要加1,不然会出现尾巴
- ZeroMemory(pwBuf, nwLen * 2 + 2);
-
- ::MultiByteToWideChar(CP_ACP, 0, str.c_str(), str.length(), pwBuf, nwLen);
-
- int nLen = ::WideCharToMultiByte(CP_UTF8, 0, pwBuf, -1, NULL, NULL, NULL, NULL);
-
- char * pBuf = new char[nLen + 1];
- ZeroMemory(pBuf, nLen + 1);
-
- ::WideCharToMultiByte(CP_UTF8, 0, pwBuf, nwLen, pBuf, nLen, NULL, NULL);
-
- std::string retStr(pBuf);
-
- delete[]pwBuf;
- delete[]pBuf;
-
- pwBuf = NULL;
- pBuf = NULL;
-
- return retStr;
- }
复制代码 |
|