2015-08-21 148 views
0

我正在嘗試使用QUrlQuery編碼POST Http查詢。在幾個地方讀,這似乎是解決辦法:使用QUrlQuery編碼字符「+」

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參數?

回答

0

QUrlQuery只是QUrl的一部分。

如果編碼你的意思是編碼%,那麼你可以用代碼像這樣做:

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