在VC工程中已经设置成“Use Multi-Byte Character Set”,请问怎样把中文char转成utf-8串。
如char *content="abc中国人";
我要把这个字符串转成utf-8编码的字符串。
最后能用纯C来实现。因为程序最终是要能同时在windows和linux下运行的。在VC工程中已经设置成“Use Multi-Byte Character Set”,请问怎样把中文char转成utf-8串。
如char *content="abc中国人";
我要把这个字符串转成utf-8编码的字符串。
最后能用纯C来实现。因为程序最终是要能同时在windows和linux下运行的。讲故事
如char *content="abc中国人";
我要把这个字符串转成utf-8编码的字符串。
最后能用纯C来实现。因为程序最终是要能同时在windows和linux下运行的。在VC工程中已经设置成“Use Multi-Byte Character Set”,请问怎样把中文char转成utf-8串。
如char *content="abc中国人";
我要把这个字符串转成utf-8编码的字符串。
最后能用纯C来实现。因为程序最终是要能同时在windows和linux下运行的。讲故事
{
WCHAR *pwszTemp = NULL;
int nLen = 0; nLen = MultiByteToWideChar(CP_ACP, 0, lpszAnsi, -1, NULL, 0);
pwszTemp = new WCHAR[nLen+1];
pwszTemp[nLen] = L'\0';
MultiByteToWideChar(CP_ACP, 0, lpszAnsi, -1, pwszTemp, nLen);
nLen = WideCharToMultiByte(CP_UTF8, 0, pwszTemp, -1, NULL, 0, NULL, NULL);
WideCharToMultiByte(CP_UTF8, 0, pwszTemp, -1,strUTF8.GetBuffer(nLen+1), nLen, NULL, NULL);
strUTF8.ReleaseBuffer();
delete pwszTemp;
}