如何使用Qt处理json中的编码西里尔数据?

时间:2012-11-14 16:30:11

标签: c++ json qt encoding decode

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

2 个答案:

答案 0 :(得分:2)

这是JSON的Unicode转义序列。您应该为此使用JSON解析器。 JSON解析还有其他一些问题。

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

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

答案 1 :(得分:1)

那应该是UTF8或UTF16编码。使用此:

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

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

其中yourString是std :: string type