2012-11-14 47 views

回答

2

這是JSON的Unicode轉義序列。你應該爲此使用JSON解析器。 JSON解析中還有一些其他的問題。

如果您使用的是Qt 5,它帶有一個:http://qt-project.org/doc/qt-5.0/qjsondocument.html

如果你沒有,然後得到一個第三方一個像jsoncpp。這是相當輕量級的,不難在其數據和Qt之間進行轉換。

+0

我只是明白了,謝謝! –

1

這應該是一個UTF8或UTF16編碼。使用此:

result = QString::fromUtf8(yourString.c_str(), yourString.size()); 

result = QString::fromUtf16(yourString.c_str(), yourString.size()); 

其中yourString是的std :: string類型

+0

它不起作用。其實我正在接收QByteArray中的數據。你有其他想法嗎? –

+0

定義你的「不起作用」。它是否編譯?運行時錯誤?舉一個你給出的字符串和你得到的字符串的例子(解釋你是否不能在stackoverflow.com中打印非ASCII字符) –

+0

它不轉換它 - 它返回相同的序列。我有Json包含逃脫西里爾字符'\ u0418 \ u0437 \ u0431 \ u0435'。當我在結果中使用'result = QString :: fromUtf8(yourString.c_str(),yourString.size());'時,我會得到相同的序列,而不是西里爾文字符。該怎麼辦? –