1:UNICODE和GBK互转
wstring MBytesToWString(const char *lpcszString)
{
int len = strlen(lpcszString);
int unicodeLen = ::MultiByteToWideChar(CP_ACP, 0, lpcszString, - 1, NULL, 0);
wchar_t *pUnicode = new wchar_t[unicodeLen + 1];
memset(pUnicode, 0, (unicodeLen + 1) *sizeof(wchar_t));
::MultiByteToWideChar(CP_ACP, 0, lpcszString, - 1, (LPWSTR)pUnicode, unicodeLen);
wstring wString = (wchar_t *)pUnicode;
delete [] pUnicode;
return wString;
}
string WStringToMBytes(const wchar_t *lpwcszWString)
{
char *pElementText;
int iTextLen;
// wide char to multi char
iTextLen = ::WideCharToMultiByte(CP_ACP, 0, lpwcszWString, - 1, NULL, 0, NULL, NULL);
pElementText = new char[iTextLen + 1];
memset((void *)pElementText, 0, (iTextLen + 1) *sizeof(char));
::WideCharToMultiByte(CP_ACP, 0, lpwcszWString, 0, pElementText, iTextLen, NULL, NULL);
string strReturn(pElementText);
delete [] pElementText;
return strReturn;
}2:GBK和UTF

本文详细介绍了如何在VC++环境中进行Unicode、GBK与UTF-8编码之间的相互转换,包括从Unicode到GBK,从GBK到Unicode,以及Unicode到UTF-8和GBK到UTF-8的转换方法。
&spm=1001.2101.3001.5002&articleId=50436571&d=1&t=3&u=23081cc757674939a0c16f5f4a0e415c)
963

被折叠的 条评论
为什么被折叠?



