我有一個JSON,但所有西里爾文字符都是這樣編碼的:\u0418\u0437\u0431\u0435
。 如何將它讀入QString?如何使用Qt處理json中的編碼西里爾文數據?
回答
這是JSON的Unicode轉義序列。你應該爲此使用JSON解析器。 JSON解析中還有一些其他的問題。
如果您使用的是Qt 5,它帶有一個:http://qt-project.org/doc/qt-5.0/qjsondocument.html
如果你沒有,然後得到一個第三方一個像jsoncpp。這是相當輕量級的,不難在其數據和Qt之間進行轉換。
這應該是一個UTF8或UTF16編碼。使用此:
result = QString::fromUtf8(yourString.c_str(), yourString.size());
或
result = QString::fromUtf16(yourString.c_str(), yourString.size());
其中yourString是的std :: string類型
它不起作用。其實我正在接收QByteArray中的數據。你有其他想法嗎? –
定義你的「不起作用」。它是否編譯?運行時錯誤?舉一個你給出的字符串和你得到的字符串的例子(解釋你是否不能在stackoverflow.com中打印非ASCII字符) –
它不轉換它 - 它返回相同的序列。我有Json包含逃脫西里爾字符'\ u0418 \ u0437 \ u0431 \ u0435'。當我在結果中使用'result = QString :: fromUtf8(yourString.c_str(),yourString.size());'時,我會得到相同的序列,而不是西里爾文字符。該怎麼辦? –
- 1. 如何在Wordpress中正確處理西里爾文編碼?
- 2. QT - 如何設置文件名編碼到西里爾文
- 3. Wordpress西里爾文編碼
- 4. PDFBox API:如何處理西里爾值
- 5. 如何解碼西里爾文的bson?
- 6. 使用Delphi 2007解碼UTF-8編碼的西里爾文
- 7. HTML5編碼和西里爾文
- 8. MS SQL中的西里爾文數據
- 9. JSON不能返回西里爾數據
- 10. Geonames數據庫編碼西里爾文符號
- 11. 如何使用Mandrill和Windows1251編碼發送西里爾郵件?
- 12. 如何str_replaceЃ(西里爾文)
- 13. 如何在數據庫和編碼中處理硬編碼的東西
- 14. 如何處理JSON編碼
- 15. Builder C++ Rave使用西里爾文編碼問題
- 16. url西里爾文編碼問題(使用webbrowser控件)
- 17. 使用西里爾
- 18. 如何檢測編輯文本中的西里爾文字?
- 19. 用於生成PDF的任何字體,將處理中文,西里爾文...?
- 20. 西里爾文,AJAX和數據庫
- 21. SQL編碼不識別西里爾
- 22. 將Windows-1251的西里爾文數據解碼爲ISO-8859-1
- 23. 的preg_match使用西里爾文字
- 24. 我應該使用西里爾字符的哪種編碼?
- 25. 西里爾文HelpProvider
- 26. 如何編碼URL的西里爾文字符然後解碼它們?
- 27. 使用谷歌地理編碼API的西里爾地址請求
- 28. Qt用西里爾文路徑打開文件
- 29. 無法在Python 2.7.x中編碼西里爾文字符
- 30. 批處理文件插入SQLite中使用西里爾字體不正確的數據
我只是明白了,謝謝! –