0

我有一个 JSON,但所有西里尔字符都这样编码:\u0418\u0437\u0431\u0435. 如何将其读入 QString?

4

2 回答 2

2

那是 JSON 的 Unicode 转义序列。您应该为此使用 JSON 解析器。JSON 解析中还有一些其他的陷阱。

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

如果你不是,那就找一个像jsoncpp这样的第三方。它相当轻量级,并且在其数据和 Qt 之间进行转换并不困难。

于 2012-11-14T19:15:34.307 回答
1

那应该是 UTF8 或 UTF16 编码。用这个:

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

或者

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

其中 yourString 是 std::string 类型

于 2012-11-14T16:35:21.337 回答