//先用UTF8->Uncoide
//在Uncoide->GB
wchar_t *UTF8ConverUncoide(const char *strUtf8)
{
wchar_t *strUn;
int len = (int)strlen(strUtf8) + 1;
strUn = new wchar_t[len];
memset(strUn, 0, len << 1);
MultiByteToWideChar(CP_UTF8,0, strUtf8, len, strUn, len);
return strUn;
}
char *UncoideConverGB(const wchar_t *strUn)
{
char *strGb;
int len = (int)(wcslen(strUn) + 1);
strGb = new char [len << 1];
memset(strGb, 0, len << 1);
WideCharToMultiByte( CP_ACP, 0, strUn, -1, strGb, len << 1, NULL, NULL );
return strGb;
}
//在Uncoide->GB
wchar_t *UTF8ConverUncoide(const char *strUtf8)
{
wchar_t *strUn;
int len = (int)strlen(strUtf8) + 1;
strUn = new wchar_t[len];
memset(strUn, 0, len << 1);
MultiByteToWideChar(CP_UTF8,0, strUtf8, len, strUn, len);
return strUn;
}
char *UncoideConverGB(const wchar_t *strUn)
{
char *strGb;
int len = (int)(wcslen(strUn) + 1);
strGb = new char [len << 1];
memset(strGb, 0, len << 1);
WideCharToMultiByte( CP_ACP, 0, strUn, -1, strGb, len << 1, NULL, NULL );
return strGb;
}