URL编码是为在浏览器中可以避免各国文字不同,进行的除英文字母外的其他文字的编码。
QUrl 类库提供了极其便捷功能,其原型函数如下:
QByteArray QUrl::toPercentEncoding(const QString & input,
const QByteArray & exclude = QByteArray(), const QByteArray & include = QByteArray()) [static]
里面有三个参数:第一个参数是QString 要编码的字符串,第二个参数是:要排除不进行编码的字符,第三个参数是指定要进行编码的字符在
本例子中,没有进行排除选项
#include <QCoreApplication>
#include <QDebug>
#include <QUrl>
#include <QTextCodec>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString urlhead("https://pan.baidu.com/share/link?shareid=3309805725&uk=406058780&fid=3635356366");
//QByteArray arr ="https://";
qDebug() << QUrl::toPercentEncoding(urlhead);
//qDebug() << QUrl::toPercentEncoding(urlhead,arr);
return a.exec();
}
"https%3A%2F%2Fpan.baidu.com%2Fshare%2Flink%3Fshareid%3D3309805725%26uk%3D406058780%26fid%3D3635356366"
生成的链接地址无法访问,对arr“https://”进行排除,生成地址如下可以访问:
https://pan.baidu.com/share/link%3Fshareid%3D3309805725%26uk%3D406058780%26fid%3D3635356366