标签:
wchar_t *ANSITOUnicode(const char* str){ int textlen = 0; wchar_t *result = NULL; textlen = MultiByteToWideChar(CP_ACP,0,str,-1,NULL,0); result = (wchar_t*)malloc((textlen+1)*sizeof(wchar_t)); memset(result,0,(textlen+1)*sizeof(wchar_t)); MultiByteToWideChar(CP_ACP,0,str,-1,(LPWSTR)result,textlen); return result; }
char *UnicodeToANSI(const wchar_t *str){ char *result = NULL; int textlen = 0; textlen = WideCharToMultiByte(CP_ACP,0,str,-1,NULL,0,NULL,NULL); result = (char*)malloc((textlen+1)*sizeof(char)); memset(result,0,sizeof(char)*(textlen+1)); WideCharToMultiByte(CP_ACP,0,str,-1,result,textlen,NULL,NULL); return result; }
wchar_t *Utf8ToUnicode(const char* str){ int textlen = 0; wchar_t *result = NULL; textlen = MultiByteToWideChar(CP_UTF8,0,str,-1,NULL,0); result = (wchar_t *)malloc((textlen+1)*sizeof(wchar_t)); memset(result,0,(textlen+1)*sizeof(wchar_t)); MultiByteToWideChar(CP_UTF8,0,str,-1,(LPWSTR)result,textlen); return result; }
char* UnicodeToUTF8(const wchar_t* str){ char *result = NULL; int textlen = 0; textlen = WideCharToMultiByte(CP_UTF8,0,str,-1,NULL,0,NULL,NULL); result = (char*)malloc((textlen+1)*sizeof(char)); memset(result,0,sizeof(char)*(textlen+1)); WideCharToMultiByte(CP_UTF8,0,str,-1,result,textlen,NULL,NULL); return result; }
wchar_t* m2w(const char* mbs){ int len = 0; wchar_t* buf; len = mbstowcs(NULL,mbs,0); if (len == 0) return NULL; buf = (wchar_t*)malloc(sizeof(wchar_t)*(len+1)); memset(buf,0,sizeof(wchar_t*)*(len+1)); len = mbstowcs(buf,mbs,len+1); return buf; }
char* ANSIToUTF8(const char* str){ return UnicodeToUTF8(ANSITOUnicode(str)); }
char* UTF8ToANSI(const char* str){ return UnicodeToANSI(Utf8ToUnicode(str)); }
// CCheckXmlDlg 对话框
bool CheckCHUnCode(CString text)
{
for (int i = 0; i < text.GetLength(); i++)
{
DWORD n = (DWORD)(text.GetBuffer()[i]);
if (n >= 0x4e00 && 0x9fcf >= n)
{
return true;
}
if (n >= 0x3400 && 0x4dbf >= n)
{
return true;
}
if (n >= 0x20000 && 0x2a6df >= n)
{
return true;
}
if (n >= 0xf900 && 0xfaff >= n)
{
return true;
}
if (n >= 0x2f800 && 0x2fa1f >= n)
{
return true;
}
if (n >= 0x3190 && 0x319f >= n)
{
return true;
}
if (n >= 0x2e80 && 0x2eff >= n)
{
return true;
}
if (n >= 0x2f00 && 0x2fdf >= n)
{
return true;
}
if (n >= 0x31c0 && 0x31ef >= n)
{
return true;
}
if (n >= 0x2ff0 && 0x2fff >= n)
{
return true;
}
if (n >= 0x3100 && 0x312f >= n)
{
return true;
}
if (n >= 0x31a0 && 0x31bf >= n)
{
return true;
}
}
return false;
}
标签:
原文地址:http://www.cnblogs.com/CommonLife/p/4279579.html