如何在QUrl中包含百分比符号 从今天下午开始我是C++的新手,我的日子很难过。

如何在QUrl中包含百分比符号 从今天下午开始我是C++的新手,我的日子很难过。,c++,qurl,C++,Qurl,我有以下几行: const QUrl command("http://192.168.11.11/subdomain/letters?t=somekeyword&p=%01") 但当QNetworkAccessManager中使用QUrl“命令”发送时,它实际上是在%符号后添加25发送的。 现在我了解到QUrl处于公差模式,并且将其添加为用户输入错误 不想要的结果: http://192.168.11.11/subdomain/letters?t=somekeyword&p=%

我有以下几行:

const QUrl command("http://192.168.11.11/subdomain/letters?t=somekeyword&p=%01")
但当QNetworkAccessManager中使用QUrl“命令”发送时,它实际上是在%符号后添加25发送的。 现在我了解到QUrl处于公差模式,并且将其添加为用户输入错误

不想要的结果:

http://192.168.11.11/subdomain/letters?t=somekeyword&p=%2501
如何防止修改我的url

我试图将百分号加倍,并插入一个反斜杠

感谢您的帮助。
谢谢。

这原来是个棘手的问题。以下是我提出的解决方案:

代码

QByteArray rawQuery("t=somekeyword&p=%01");
QUrl command("http://192.168.11.11/subdomain/letters");
command.setEncodedQuery(rawQuery);
std::cout << command.toEncoded().data();
QByteArray rawQuery(“t=somekeyword&p=%01”);
QUrl命令(“http://192.168.11.11/subdomain/letters");
setEncodedQuery(rawQuery);

std::cout我们在这里讨论的是什么版本的QT?另外,您是否正在尝试对上面URL中的不可打印字符“SOH,heading开头”进行URL编码?否则%01没有任何意义。我在blackberry SDK中使用QT,据我所知,它也是QT4,这是一个发送到Web服务器的命令,%01是开机,%00是关机QT 4.8.4。准确地说,它工作得很好,感谢这个解释得很好的答案!