关于QByteArray的toPercentEncoding()函数
关于Qt中的URL编解码的使用
QByteArray中的toPercentEncoding
和fromPercentEncoding
支持对URL的编解码工作。
先看一下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=临时邮箱
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。
本文来自博客园,作者:StimuMing,转载请注明原文链接:https://www.cnblogs.com/fole-del/p/14545078.html