浙江省高等学校教师教育理论培训

微信搜索“毛凌志岗前心得”小程序

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

利用boost做string到wstring转换,以及字符集转换 - Error - C++博客

#include <boost/locale.hpp>
 
 
int _tmain(int argc, _TCHAR* argv[])
{
//std::locale::global(std::locale("utf-8"));
std::locale::global(std::locale(""));  // 设置全局的C运行库locale  可以针对cout  fstream等单独设置 空表示默认使用当前系统字符集
 
std::string strGbk = "天朝的方式开发刻录机卡洛斯分123qwerwer繫";
std::wstring wstr = boost::locale::conv::to_utf<wchar_t>(strGbk, "gbk");
std::string strA = boost::locale::conv::from_utf(wstr, "GBK");
 
std::cout << strGbk.c_str() << std::endl;
std::wcout << wstr.c_str() << std::endl;
std::cout << strA.c_str() << std::endl;
 
try
{
std::string strBit5;
 
strBit5 = boost::locale::conv::between(strA, "big5", "gbk");
strA = boost::locale::conv::between(strBit5, "GBK", "BIG5");
}
catch (std::exception& e)
{
std::cout << e.what() << std::endl;
}
catch (...)
{
std::cout << "..." << std::endl;
}
 
 
std::cout << __FUNCTION__ << std::endl;
 
return 0;
}
posted on 2014-04-08 09:58  lexus  阅读(2339)  评论(0)    收藏  举报