当前位置: 代码迷 >> 综合 >> Qt进行urlEncode/urlDecode
  详细解决方案

Qt进行urlEncode/urlDecode

热度:5   发布时间:2023-12-16 09:12:48.0

本文参考Qt进行UrlEncode/UrlDecode(URL编码/解码)

现在说一说Qt中的两个类,一个是QByteArray,一个是QUrl,他们都有一对进行url编解码的函数

QByteArray QByteArray::?toPercentEncoding(const QByteArray & exclude = QByteArray(), const QByteArray & include = QByteArray(), char percent = '%') constQByteArray QByteArray::?fromPercentEncoding(const QByteArray & input, char percent = '%') [static]


QString QUrl::?fromPercentEncoding(const QByteArray & input)QByteArray QUrl::?toPercentEncoding(const QString & input, const QByteArray & exclude = QByteArray(), const QByteArray & include = QByteArray())  [static]


其中toPercentEncoding是进行url编码,fromPercentEncoding进行url解码,使用QUrl的url编解码函数,要求必须是完整的url地址,(若没有类似的http:// ,则会解码失败QUrl: QUrl::FullyDecoded is not permitted when reconstructing the full URL)既带http://   这样的http协议头,进行编解码时忽略http:// 。

而使用QByteArray的url编解码函数,则是进行全编解码,即会对 http://  这个协议头中的特殊字符编码。