QUrl类提供了一个可方便地处理统一资源定位 符(URLs) 的接口。
它可以按 照已编码 和 未编码格式 来分析和构造统一资源定位 符。QUrl还支持国际化域名 (IDNs)。
常见用法 就是 向构造函数里传递 一个 QString ,这样来初始 化QUrl。或者 ,也可以使用 setUrl ()和 setEncodedUrl ()函数。
统一资源定位 符可按两种格式来表示 : 已编码或未编码。 未编码的格式适合于显示给用户看, 而已编码的格式才是实际 发 往网页服务器的。例如, 未编码格式的统一资源定位符 "http://bühler.example.com/List of applicants.xml" , 在被发送服务器时,将是 "http://xn--bhler-kva.example.com/List%20of%20applicants.xml" , 妳可通过调用 toEncoded ()函数 来验证这一点。
还可以通过调用以下函数来一庹庹地构造一个统一资源定位符: setScheme () 、 setUserName () 、 setPassword () 、 setHost () 、 setPort () 、 setPath () 、 setEncodedQuery () 和 setFragment () 。 还有另外一些便利函数: setAuthority () 可以直接设置用户名、密码、主机和端口。 setUserInfo () 可以直接设置用户名和密码。
调用 isValid ()函数 来检查一下当前的统一资源定位符是否有效。 可在构造统一资源定位符的过程中的任意时候做这种检查。
要构造一个带查询功能的统一资源定位符也狠方便: setQueryItems () 、 addQueryItem () 和 removeQueryItem () 。使用 来 setQueryDelimiters () 来自定义 各参数之间的分隔符。
为了便于生成 已编码格式的统一资源定位符字符串或查询字符串, 我们提供了两个静态函数 fromPercentEncoding () 和 toPercentEncoding (), 它们会处理QString的百分 号格式编码和解码工作。
通过 isRelative ()函数能够知道当前统一资源定位 符是不是相对路径 的。 可将 一个相对路径的统一资源定位符传递 给 resolved ()函数 来解析, 所返回的将是一个绝对路径的统一资源定位符。 isParentOf () 可用来判断出一个统一资源定位符是不是另一个的上级路径。
fromLocalFile () 可利用一个本地文件路径来构造一个统一资源定位符。 toLocalFile () 可将一个统一资源定位符转换 成一个本地文件路径。
可使用 toString ()函数来返回 一个人眼可读的统一资源定位 符格式。 这种格式适合于以未编码的形式来显示给用户。相对 地, 由 toEncoded ()返回的 已编码格式勒,则是以下用途:内部使用 、 发送给网页服务器、 发送给邮件客户端、等等。
QUrl符合 RFC 3986 (统一资源标识 符:通用语法 ) 中的统一资源标识 符规范,并且包含 了 RFC 1738 (统一资源定位 符 ) 中说到的模式扩展 。QUrl 中的大写转换规则符合 RFC 3491 ( 多语种域名 ( Nameprep ) : 用于 国际化域名( IDN )的一个 Stringprep 说明( Profile ) )。
在处理统一资源定位 符和字符 串时,按照 以下规则来做,以免出现错误 的字符转换情况:
•. 如果 要从一个 QByteArray 或char*创建一个 QString ,并且要用来表示一个统一资源定位 符的话, 一定要使用 QString::fromUtf8 ()。
•. 在将QUrl 与字符串互相转换时,优先使用 QUrl::fromEncoded ()和 QUrl::toEncoded (),而不是使用QUrl(string) 和 QUrl::toString () 。
参考 QUrlInfo 。
返回该统一资源定位符中第一个参数 名为 key 的参数值字符串。
注意 : 这个方法不会像HTML 表单那样 , 将表示空格 的加号(+)解码成空格(ASCII 0x20)。如果 妳希望像那样解码的话,那么必须使用QUrl::encodedQueryItemValue,然后自己对数据进行解码。
参考 allQueryItemValues () 。
乌坎村选举
清纯美女
HxLauncher: Launch Android applications by voice commands