window下 ANSI Unicode utf8之间相互转换
2018-06-17 23:20:00来源:未知 阅读 ()
//CString to string的转可能只适用于某些编码情况
string CStringToChar(const CString& strSrc)
{
CString strTmp(strSrc);
string str(strTmp.GetBuffer(strTmp.GetLength()));
strTmp.ReleaseBuffer();
return str;
}
wstring AnsiToUnicode(const string& buf)
{
int len = ::MultiByteToWideChar(CP_ACP, 0, buf.c_str(), -1, NULL, 0);
if (len == 0) return L"";
wstring strUnicode;
strUnicode.resize(len);
::MultiByteToWideChar(CP_ACP, 0, buf.c_str(), -1, (wchar_t*)strUnicode.c_str(), len);
return strUnicode;
}
string UnicodeToAnsi(const wstring& buf)
{
int len = ::WideCharToMultiByte(CP_ACP, 0, buf.c_str(), -1, NULL, 0, NULL, NULL);
if (len == 0) return "";
string strUtf8;
strUtf8.resize(len);
::WideCharToMultiByte(CP_ACP, 0, buf.c_str(), -1, (char*)strUtf8.c_str(), len, NULL, NULL);
return strUtf8;
}
wstring Utf8ToUnicode(const string& buf)
{
int len = ::MultiByteToWideChar(CP_UTF8, 0, buf.c_str(), -1, NULL, 0);
if (len == 0) return L"";
wstring strUnicode;
strUnicode.resize(len);
::MultiByteToWideChar(CP_UTF8, 0, buf.c_str(), -1, (wchar_t*)strUnicode.c_str(), len);
return strUnicode;
}
string UnicodeToUtf8(const wstring& buf)
{
int len = ::WideCharToMultiByte(CP_UTF8, 0, buf.c_str(), -1, NULL, 0, NULL, NULL);
if (len == 0) return "";
string strUtf8;
strUtf8.resize(len);
::WideCharToMultiByte(CP_UTF8, 0, buf.c_str(), -1, (char*)strUtf8.c_str(), len, NULL, NULL);
return strUtf8;
}
string AnsiToUtf8(const string& strSrc)
{
return UnicodeToUtf8(AnsiToUnicode(strSrc));
}
string AnsiToUtf8(const CString& strSrc)
{
return UnicodeToUtf8(AnsiToUnicode(CStringToChar(strSrc)));
}
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Qt与Js交互通信 2020-05-25
- windows7 + Qt(MSVC2017) + VS2019安装配置 2020-04-25
- Window中的shellcode编写框架(入门篇) 2020-03-31
- windows10环境下QtCreator中出现skipping incompatible xxx 2020-03-31
- Windows 创建 .gdbinit 提示必须键入文件名 2020-03-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash