在cocos2dx中经常需要转换文字为utf-8
// 转成UTF-8
inline const char* G2U(const char* str)
{
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
int len = MultiByteToWideChar(CP_ACP,0,str,-1,NULL,0);
wchar_t* wstr = new wchar_t[len+1];
memset(wstr,0,len+1);
MultiByteToWideChar(CP_ACP,0,str,-1,wstr,len);
len = WideCharToMultiByte(CP_UTF8,0,wstr,-1,NULL,0,NULL,NULL);
char* temp = new char[len +1];
memset(temp,0,len+1);
WideCharToMultiByte(CP_UTF8,0,wstr,-1,temp,len,NULL,NULL);
if (wstr)
{
delete []wstr;
}
return temp;
#else
return str;
#endif
}