小弟我想问下vc2008 utf-8 unicode bytes字节流是怎么相互转换的
我想问下vc2008 utf-8 unicode bytes字节流是如何相互转换的
我想问下vc2008 utf-8 unicode bytes字节流是如何相互转换的
------解决思路----------------------
基本的还是通过 MultiByteToWideChar WideCharToMultiByte 转换的
------解决思路----------------------
utf-8 其实是对unicode编码后的bytes,基本的还是通过 MultiByteToWideChar WideCharToMultiByte 转换的
------解决思路----------------------
给你一段代码看看就知道了:
我想问下vc2008 utf-8 unicode bytes字节流是如何相互转换的
------解决思路----------------------
基本的还是通过 MultiByteToWideChar WideCharToMultiByte 转换的
------解决思路----------------------
utf-8 其实是对unicode编码后的bytes,基本的还是通过 MultiByteToWideChar WideCharToMultiByte 转换的
------解决思路----------------------
给你一段代码看看就知道了:
void ConvertUtf8ToGBK(char *pszUtf8,char *&pszGBK)
{
int len=MultiByteToWideChar(CP_UTF8, 0, pszUtf8, -1, NULL,0);
WCHAR * pwszGBK = new WCHAR[len+1];
memset(pwszGBK, 0, (len+1) * 2);
MultiByteToWideChar(CP_UTF8, 0, pszUtf8, -1, pwszGBK, len);
len = WideCharToMultiByte(CP_ACP, 0, pwszGBK, -1, NULL, 0, NULL, NULL);
pszGBK = new char[len + 1];
memset(pszGBK, 0, len + 1);
WideCharToMultiByte (CP_ACP, 0, pwszGBK, -1, pszGBK, len, NULL,NULL);
delete []pwszGBK;
pwszGBK = NULL;
}