Как извлечь строку QURL с пространством в нем?

StackOverflow https://stackoverflow.com/questions/3700257

  •  02-10-2019
  •  | 
  •  

Вопрос

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

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

Как я могу получить строку «BWORD: // Переливание крови» образует QURL?

Это было полезно?

Решение

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

Когда власть нет, путь не может начать с двух символов Slash («//»).

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

QUrl url("bword:/blood transfusion");
QString res = url.toString();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top