2016-12-04 203 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。