QUrl 为我们提供了很多的便利方法,其中对字符串进行 URL 格式化编码的方法
1 QByteArray QUrl::toPercentEncoding(const QString & input,
2 const QByteArray & exclude = QByteArray(), const QByteArray & include = QByteArray()) [static]
就是一个很方便的方法,在这个方法中,我们可以简单地对字符串进行编码,也可以通过指定第二个参数 exclude 指定哪些字符不需要编码,以及指定第三个参数 include 强制将某些字符进行编码。
下面是 Qt 文档中的一个实例:
1 QByteArray ba = QUrl::toPercentEncoding("{a fishy string?}", "{}", "s");
2 qDebug(ba.constData());
3 // prints "{a fi%73hy %73tring%3F}"
下面是一个简单的使用实例:
1 #include <QCoreApplication>
2 #include <QDebug>
3 #include <QUrl>
4
5 int main(int argc, char *argv[])
6 {
7 QCoreApplication a(argc, argv);
8
9 QString testString("Hello World!");
10
11 qDebug() << QUrl::toPercentEncoding(testString);
12
13 return a.exec();
14 }
其实际输出结果为: