Unicode与ANSI的转换
Posted 菜鸟也有高飞的时候
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unicode与ANSI的转换相关的知识,希望对你有一定的参考价值。
string UnicodeToANSI(const wstring& str) { char *pStr; int iwstrLen = WideCharToMultiByte(CP_ACP, 0, str.c_str(), -1, 0, 0, 0, 0); cout << "iwstrlen=" << iwstrLen << endl; pStr = new char[iwstrLen +1]; memset(pStr, 0, sizeof(char)*(iwstrLen + 1)); WideCharToMultiByte(CP_ACP, 0, str.c_str(), -1, pStr, iwstrLen, 0, 0); string strText; strText = pStr; delete pStr; cout << "转换ANSI完成" << endl; return strText; } wstring ANSItoUnicode(const string& str) { WCHAR *pwstr; int istrLen = MultiByteToWideChar(CP_ACP, 0, str.c_str(), -1, 0, 0); cout << "istrlen=" << istrLen << endl; pwstr = new WCHAR[istrLen + 1]; memset(pwstr, 0, (istrLen + 1) * sizeof(WCHAR)); MultiByteToWideChar(CP_ACP, 0, str.c_str(), -1, pwstr, istrLen); wstring wTemp = pwstr; delete pwstr; cout << "转换Unicode完成" << endl; return wTemp; }
以上是关于Unicode与ANSI的转换的主要内容,如果未能解决你的问题,请参考以下文章
WinAPI FTPGetFile 从 ANSI 到 Unicode 的转换