gpt4 book ai didi

Qt、QUrl、QUrlQuery : Encoding special character in a query string

转载 作者:行者123 更新时间:2023-12-04 10:38:31 24 4
gpt4 key购买 nike

我创建了一个这样的 URL 查询:

QString normalize(QString text)    
{
text.replace("%", "%25");
text.replace("@", "%40");
text.replace("‘", "%27");
text.replace("&", "%26");
text.replace("“", "%22");
text.replace("’", "%27");
text.replace(",", "%2C");
text.replace(" ", "%20");

return text;
}
QString key = "usermail";
QString value = "aemail@gmail.com";
QUrlQuery qurlqr;
qurlqr.addQueryItem(normalize(key), normalize(value));

QString result = qurlqr.toString();

期待的结果是:
usermail=aemail%40gmail.com. 

但我收到了:
usermail=aemail@gmail.com

我不知道为什么。你能帮助我吗?

(我在 Win7 上使用 Qt5)

最佳答案

默认情况下,QUrlQuery 的 toString 解码百分比编码。如果您想要编码版本,请尝试:
qurlqr.toString(QUrl::FullyEncoded)
您也不需要通过替换字符来手动对字符串进行编码;你可以改用 QUrl::toEncoded() (我建议你阅读 QUrlQuery 文档)。

关于Qt、QUrl、QUrlQuery : Encoding special character in a query string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16474381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com