G
N
I
D
A
O
L

关于QByteArray的toPercentEncoding()函数

关于Qt中的URL编解码的使用

QByteArray中的toPercentEncodingfromPercentEncoding支持对URL的编解码工作。


先看一下toPercentEncoding的官方文档。

toPercentEncoding

翻译

说明非常简单了。fromPercentEncoding()就刚好相反。说白了就是把你的这个输入转换为网址的格式。可以理解为URL编码的过程

demo:

    QByteArray text = {"http://www.baidu.com/s?ie=utf-8&f=8&tn=baidu&wd=临时邮箱"};
    QByteArray urlEncode = text.toPercentEncoding();
    qDebug("编码后");
    qDebug(urlEncode.constData());

    QByteArray urlDecode = QByteArray::fromPercentEncoding(urlEncode);
    qDebug("-------------------------------------------------");        
    qDebug("解码后");    
    qDebug(urlDecode.constData());

输出:

编码后:
http0.0000000.0000000.000000www.baidu.com0.000000s0.000000ie%3Dutf-8 0.000000%3D8 %3Dbaidu%26wd%3D5.185438E-3164%B8%B48.694087E-3156%97%B65.190920E-3169%820.000000E5.182199E-31670.000000E%B1
----------------------------------
解码后:
http://www.baidu.com/s?ie=utf-8&f=8&tn=baidu&wd=临时邮箱

所以当你需要把解码后的网址作为数据发送或使用时就可以使用Encoding,需要解码URL的网址是就使用Decoding。

posted @ 2021-03-16 18:14  StimuMing  阅读(601)  评论(0编辑  收藏  举报