Unicode和ansi及Utf-8转换
2013-11-25 23:40
381 查看
CString AnsiToUnicode(const char* pszAnsi) { if (strlen(pszAnsi) == 0) return _T(""); CString strUnicode = _T(""); try { int len = ::MultiByteToWideChar(CP_ACP, 0, pszAnsi, -1, NULL, 0); if (len != 0) { wchar_t* szTemp = new wchar_t[len]; ::MultiByteToWideChar(CP_ACP, 0, pszAnsi, -1, szTemp, len); strUnicode = szTemp; delete[] szTemp; szTemp = NULL; } } catch(...) { } return strUnicode; } std::string UnicodeToAnsi(const wchar_t* pwszUnicode) { if (wcslen(pwszUnicode) == 0) return ""; std::string szAnsi = ""; try { int len = ::WideCharToMultiByte(CP_ACP, 0, pwszUnicode, -1, NULL, 0, NULL, NULL); if (len != 0) { char* szTemp = new char[len]; ::WideCharToMultiByte(CP_ACP, 0, pwszUnicode, -1, szTemp, len, NULL, NULL); szAnsi = szTemp; delete[] szTemp; szTemp = NULL; } } catch(...) { } return szAnsi; } CString Utf8ToUnicode(const char* pszUtf8) { if (strlen(pszUtf8) == 0) return _T(""); CString strUnicode = _T(""); try { int len = ::MultiByteToWideChar(CP_UTF8, 0, pszUtf8, -1, NULL, 0); if (len != 0) { wchar_t* szTemp = new wchar_t[len]; ::MultiByteToWideChar(CP_UTF8, 0, pszUtf8, -1, szTemp, len); strUnicode = szTemp; delete[] szTemp; szTemp = NULL; } } catch(...) { } return strUnicode; } std::string UnicodeToUtf8(const wchar_t* pwszUnicode) { if (wcslen(pwszUnicode) == 0) return ""; std::string szUtf8 = ""; try { int len = ::WideCharToMultiByte(CP_UTF8, 0, pwszUnicode, -1, NULL, 0, NULL, NULL); if (len != 0) { char* szTemp = new char[len]; ::WideCharToMultiByte(CP_UTF8, 0, pwszUnicode, -1, szTemp, len, NULL, NULL); szUtf8 = szTemp; delete[] szTemp; szTemp = NULL; } } catch(...) { } return szUtf8; }
相关文章推荐
- Linux 与 Windows 对UNICODE 的处理方式
- Unicode详细分析解释
- vbs中将GB2312转Unicode的代码
- 程序员趣味读物 谈谈Unicode编码
- 常用字符集编码详解(ASCII GB2312 GBK GB18030 unicode UTF-8)
- UTF-8、Unicode 标准化表单、BOM
- ASP UTF-8页面乱码+GB2312转UTF-8 +生成UTF-8格式的文件(编码)第1/2页
- ASP+FSO生成的网页文件默认编码格式以及转换成UTF-8编码方法
- php utf-8转unicode的函数第1/2页
- utf-8编码引起js输出中文乱码的解决办法
- jq的get传参数在utf-8中乱码问题的解决php版
- php UTF-8、Unicode和BOM问题
- 将字符串转换成gb2312或者utf-8编码的参数(js版)
- Ajax,UTF-8还是GB2312 eval 还是execScript
- UTF-8 GBK UTF8 GB2312 之间的区别和关系介绍
- Unicode 编码转换器
- utf-8 网页不显示+utf-8网页乱码的通用解决方法
- 字体编码
- String.getBytes()陷阱
- cannot convert parameter 2 from 'const char [12]' to 'LPCWSTR'