C++ UTF8编码
问题描述:
我有UTF8代码:72 101 108 108 111 33。 这意味着“你好!”。我如何使用C++对其进行编码? 我知道有一个叫做wcstombs的函数,但我不明白它是如何工作的。C++ UTF8编码
答
不知道你的问题是什么。似乎它不是utf-8或编码问题。
如果输入是文本 “72 101 108 108 111 33”,将文本转换为int,然后为char。
int main()
{
stringstream ss("72 101 108 108 111 33");
int n;
string s;
while (ss >> n) {
s.push_back(static_cast<char>(n));
}
cout << s;
return 0;
}
如果您的输入是int数组,只需将int转换为char。
'std :: string s =“Hello!”;'完成任务。 'wcstombs()'用于将宽字符转换为多字节字符串。一个UTF-8字符串是一个多字节字符串,所以'wcstombs()'是完全不相关的。 –
你的问题还不清楚,你是否希望编写一个将UTF-8字符串转换为Hello的程序,反之亦然? –
输入是:72 101 108 108 111 33 输出必须是:你好! –