使用QUrlQuery对“+”这样的字符进行编码

时间:2015-08-21 20:33:18

标签: qt post encoding

我正在尝试使用QUrlQuery对POST Http查询进行编码。在几个地方读书,这似乎是解决方案:

QUrlQuery query;
query.addQueryItem("name","value");
QString queryString = query.query(QUrl::FullyEncoded);

但是这段代码:

QUrlQuery query;
query.addQueryItem("calc","x+x");
qDebug() << query.query(QUrl::FullyEncoded);

输出:

"calc=x+x"

所以“+”没有被编码。为什么?如何为POST参数正确编码任意字符串?

1 个答案:

答案 0 :(得分:0)

QUrlQuery只是QUrl的一部分。

如果通过编码表示编码百分比,则可以使用以下代码执行此操作:

qDebug() << QUrl::toPercentEncoding(query.toString());