unicode转utf8(W2U)
std::string unicodeToUtf8(const std::wstring& wstr)
{
/* UTF-8是多字节字符串(multibyte string),而unicode是宽字符字符串(wchar_string)
C++11提供了wstring_convert类(<codecvt>头文件),支持wchar_t string和multibyte string的互相转换
其中codecvt_utf8可以提供UTF-8的编码规则*/
std::wstring_convert< std::codecvt_utf8<wchar_t> > wcv;
retturn wcv.to_bytes(wstr);
}
utf8转unicode(U2W)
std::wstring utf8ToUnicode(const std::string& str)
{
/* UTF-8是多字节字符串(multibyte string),而unicode是宽字符字符串(wchar_string)
C++11提供了wstring_convert类(<codecvt>头文件),支持wchar_t string和multibyte string的互相转换
其中codecvt_utf8可以提供UTF-8的编码规则*/
std::wstring_convert< std::codecvt_utf8<wchar_t> > wcv;
return wcv.from_bytes(str);
}