StupidBeauty
Read times:3721Posted at: - no title specified

Qt5.2文档翻译:QUrl,QUrl Class

成员函数文档

QUrl:: QUrl (const  QString  &  url ParsingMode parsingMode  = TolerantMode)

通过解析参数 url 的内容来构造一个URL。 QUrl 会自动地将所有不允许在URL 中出现的字符进行百分号编码,还会 将所有表示非保留字(字母 、数字、 连字符、下划线、小数点和波浪 线 )的百分号编码序列进行解码 。其它 的字符都会原样保留。

使用指定 的解析模式 parsingMode 来解析 url TolerantMode  (默认模式) 下, QUrl 会修复特定的错误,尤其是后面 没有跟有两个十六进制数字 的百分号('%'),并且 它会接受任意位置的任意字符。 StrictMode 模式 下,那些编码错误 不会被容忍,并且, QUrl 还会做一些检查,以确保,特定 的禁止字符不要在未编码的形式中出现。如果 StrictMode 模式下检测到了错误,则, isValid () 会返回假(false)。 在这个上下文中, DecodedMode 这种解析模式是不允许使用的。

示例

QUrl url ("http://www.example.com/List of holidays.xml");

// url.toEncoded() == "http://www.example.com/List%20of%20holidays.xml"

要想用一个已被编码的字符串来构造一个URL 的话,则 可使用 fromEncoded ():

QUrl url = QUrl :: fromEncoded ("http://qt-project.org/List%20of%20holidays.xml");

两个函数 是等价的,并且,在 Qt 5 中,两个函数都接受已编码的数据。通常情况 可以根据源数据来决定,究竟是使用 QUrl 构造函数 setUrl ()函数还是 fromEncoded ()函数:构造函数 setUrl () 的参数都是一个 QString ,而 fromEncoded函数 的参数是一个 QByteArray

参考 setUrl () fromEncoded () TolerantMode

QByteArray  QUrl:: toEncoded ( FormattingOptions options  = FullyEncoded) const

如果 该 URL 是有效的,则返回它的百分号编码结果;否则 ,返回一个空的 QByteArray 可通过 options 传入各个标志位来对输出内容进行自定义。

用户信息、路径和片断都会被转换为UTF-8,然后,所有的非ASCII字符都会被进行百分号编码。主机名会使用 Punycode 来编码。

未知美人

Your opinions
Your name:Email:Website url:Opinion content:
- no title specified

HxLauncher: Launch Android applications by voice commands