来自 Punycode QUrl 的 QString

QString from Punycode QUrl

如果我把 url http://www.äsdf.de/bla/bla 放到 QUrl 中,我怎样才能用原始符号恢复 url?

QUrl 可以修复一些字符,但我想在 url 中显示原始 äsdf 而不是 xn--sdf-pla

我知道 QString QUrl::fromAce(const QByteArray &domain),但它需要 QByteArray 而不是 QUrl 实例。

您可以使用 QUrl::toDisplayString with the default PrettyDecoded formatting option, or any other value among enum ComponentFormattingOption:

QUrl url{"http://www.äsdf.de/bla/bla"};

QString original_string =
    url.toDisplayString(); // default is QUrl::PrettyDecoded

QString original_string_with_encoded_spaces =
    url.toDisplayString(QUrl::EncodeSpaces);