char* ANSI_to_UTF8 (const char* szAnsi)
{
if (!szAnsi){
return NULL;
}
int nLen = MultiByteToWideChar(CP_ACP, 0, szAnsi, -1, NULL, 0);
WCHAR *pWidechar = new WCHAR[nLen + 1];
memset(pWidechar, 0, nLen + 1);
MultiByteToWideChar(CP_ACP, 0, szAnsi, -1, pWidechar, nLen);
int nSize = WideCharToMultiByte(CP_UTF8, 0, pWidechar, -1, NULL, 0, NULL, NULL);
char *pData = new char[nSize + 1];
memset(pData, 0, nSize + 1);
WideCharToMultiByte(CP_UTF8, 0, pWidechar, -1, pData, nSize, NULL, NULL);
delete[]pWidechar;
return pData;//在外释放内存
}
ANSI转UTF-8
最新推荐文章于 2024-04-06 04:46:45 发布