Как получить строку QUrl с пробелом в нем? - PullRequest
0 голосов
/ 13 сентября 2010
QUrl url("bword://blood transfusion");
QString res = url.toString();

Почему я получил строку «bword:» вместо «bword: // переливание крови»?

Как получить строку "bword: // переливание крови" из QUrl?

1 Ответ

3 голосов
/ 13 сентября 2010

Синтаксис URL может быть довольно сложным, см. Эту статью в Википедии . Проблема в том, что ваш URL не содержит поле полномочий , оно содержит только схема поле "bword" и путь"// переливание крови". И в соответствии с RFC3986 - Унифицированный идентификатор ресурса (URI): общий синтаксис :

Когда авторитет отсутствует, путь не может начинаться с двух слэшей символы ("//").

Таким образом, ваш URL недействителен (хотя isValid() возвращает true). Измените свой код на:

QUrl url("bword:/blood transfusion");
QString res = url.toString();
...