需要用到 wstring_convert 类:
template <class Codecvt, class Elem = wchar_t>
class wstring_convert
typedef basic_string<char> string;
typedef basic_string<char16_t> u16string;
#include
#include
#include
#include
int main()
{
std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t> converter;
const char *str = "Test u16string";
std::u16string u16str = converter.from_bytes(str);
std::string str2 = converter.to_bytes(u16str);
std::cout << str2 << std::endl;
return 0;
}