2016-12-04 205 views
0

我有UTF8代码:72 101 108 108 111 33。 这意味着“你好!”。我如何使用C++对其进行编码? 我知道有一个叫做wcstombs的函数,但我不明白它是如何工作的。C++ UTF8编码

+0

'std :: string s =“Hello!”;'完成任务。 'wcstombs()'用于将宽字符转换为多字节字符串。一个UTF-8字符串是一个多字节字符串,所以'wcstombs()'是完全不相关的。 –

+0

你的问题还不清楚,你是否希望编写一个将UTF-8字符串转换为Hello的程序,反之亦然? –

+0

输入是:72 101 108 108 111 33 输出必须是:你好! –

回答

0

不知道你的问题是什么。似乎它不是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。