c++ utf32转string

//原始字符串为“***”,即3个星号,以UTF32格式存储,内存格式以下:
char src[12] = { 0x2A, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00 };
//目的:将此内存串转为std::string格式,打印输出为“***”
std::u32string s32 = std::u32string((const char32_t*)src, 3);//UTF32为一个字符占4个字节,因此此处为src.len/4 = 3
std::string s = std::wstring_convert<std::codecvt_utf8<char32_t>, char32_t >{}.to_bytes(s32);
std::cout << s << std::endl;
相关文章
相关标签/搜索