将字符串转换为Unicode十六进制表示形式,然后返回C++

Convert string to Unicode hex representation and back in C++

本文关键字:然后 返回 C++ 表示 转换 字符串 Unicode 十六进制      更新时间:2023-10-16

我想将一个字符串转换为一个字符串,该字符串以Unicode十六进制表示法包含给定字符串的所有字符,然后再转换回来。目标语言是C++。

例如,给定德语单词Hände,我希望能够将此字符串转换为其Unicode十六进制符号U+0068 U+00E4 U+006E U+0064 U+0065,并从中转换回其原始表示形式Hände

如何在C++中实现这一点?

根据您的评论,是什么阻止您使用这种简单的对话?

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