我想将一个字符串转换为一个字符串,该字符串包含Unicode十六进制表示法中给定字符串的所有字符,然后再返回。目标语言是C ++。
例如,给定德语单词Hände
,我希望能够将此字符串转换为它的Unicode十六进制表示法U+0068 U+00E4 U+006E U+0064 U+0065
,并将其转换回原始表示形式{{ 1}}。
如何在C ++中实现?
答案 0 :(得分:2)
根据你的评论,是什么阻止你使用这个简单的对话?
std::u16string in = u"Hände";
stringstream out;
for (auto x : in)
out << hex << "U+" << x << " ";
cout << out.str();
输出:
U+48 U+e4 U+6e U+64 U+65