Как извлечь строку QURL с пространством в нем?
Вопрос
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();
Не связан с StackOverflow