Руководство

Как декодировать URL-кодированный текст и понять результат второго прохода

Вставьте процентно-кодированный текст в поле инструмента и запустите обработку. Вы получите декодированную строку и отдельный признак того, изменил ли её второй проход.

Инструмент Декодер URL

Что делает URL-декодер

URL-декодирование превращает процентные обозначения в читаемый текст. Например, последовательности %20, %26 и %3D используются для представления пробела, амперсанда и знака равенства. Этот инструмент принимает введённый текст, выполняет процентное декодирование и отдельно сообщает, изменился ли результат после второго прохода. Это удобно, когда нужно быстро проверить строку, полученную из параметра запроса, фрагмента ссылки или другого текстового источника, не разбирая её вручную.

Ввод необязателен: используется текстовое поле без фиксированного набора вариантов. Инструмент предназначен для обработки переданной строки, а не для получения содержимого по ссылке или проверки корректности URL. Поэтому вставляйте именно закодированный текст, который хотите преобразовать.

Процентное декодирование не следует смешивать с расшифровкой защищённых данных. Символы после знака процента заменяются своими текстовыми представлениями, если инструмент распознаёт соответствующую запись. Для обычной проверки параметров и разделителей этого достаточно: результат можно прочитать и сравнить с исходной строкой.

Как декодировать строку

  1. Подготовьте строку с процентными обозначениями. Для быстрой проверки можно использовать текст вроде hello%20world%20%26%20foo%3Dbar. В нём закодированы пробелы, амперсанд и знак равенства.

  2. Вставьте строку в текстовое поле инструмента. Если текст передать не полностью или изменить отдельный символ, результат будет относиться уже к новой строке, поэтому перед запуском проверьте исходное значение.

  3. Запустите обработку. Инструмент выполнит первый проход процентного декодирования, а затем второй проход. После этого он покажет преобразованный текст и признак того, повлиял ли второй проход на результат.

  4. Сопоставьте исходную строку с полученным текстом. Код %20 должен читаться как пробел, %26 как амперсанд, а %3D как знак равенства в тех местах, где эти записи присутствуют во входе. Не заменяйте символы вручную до запуска: иначе будет сложнее понять, что обработал инструмент, а что изменили вы.

  5. Если текст не был передан, инструмент использует значение по умолчанию hello%20world%20%26%20foo%3Dbar. Если же передана пустая строка, результат остаётся успешным, но содержит указание на ошибку о том, что текст не предоставлен. Это два разных случая, поэтому сообщение нужно читать вместе с отображённым результатом.

  6. При возникновении исключения во время декодирования инструмент также формирует успешный результат с указанием на ошибку, а не возвращает неуспешный результат. Если вместо преобразованной строки вы видите такое указание, исправьте входные данные и повторите обработку.

Как читать результат

В обычном результате ищите два элемента: преобразованный текст и сведения о втором проходе. Если второй проход не изменил строку, исходное декодирование уже не потребовало дополнительного преобразования. Если он изменил текст, значит, после первого прохода в строке оставалась последовательность, которую удалось преобразовать на следующем шаге. Такая отметка помогает заметить дополнительный уровень процентного кодирования, не выдавая его за часть исходного читаемого текста.

Результат для строки hello%20world%20%26%20foo%3Dbar должен иметь форму читаемого текста с пробелами, амперсандом и знаком равенства, а также отдельный признак изменения после второго прохода. Здесь проверяется форма результата, а не содержимое внешнего ресурса: инструмент работает с переданным текстом.

Успешный статус сам по себе не означает, что преобразование прошло без замечаний. Пустой ввод и исключение описываются внутри успешного результата через указание на ошибку. Поэтому сначала проверьте наличие такого указания, затем оценивайте преобразованный текст.

Граница применения проста: инструмент декодирует предоставленную строку и сообщает о втором проходе. Он не заменяет проверку структуры URL и не получает данные по адресу. Если после обработки остаются непонятные фрагменты, проверьте исходную строку, процентные последовательности и то, не передали ли вы пустое значение.

Практический пример

Редактор проверяет строку параметров, в которой пробелы, амперсанд и знак равенства записаны через процентные обозначения.

Вставьте hello%20world%20%26%20foo%3Dbar в текстовое поле и запустите обработку, затем сравните отображённый текст с исходной строкой.

Результат содержит читаемый текст с пробелами, амперсандом и знаком равенства, а также отдельный признак того, изменился ли текст после второго прохода.

Ограничения

  • Инструмент обрабатывает переданный текст; он не получает содержимое по URL и не предназначен для проверки синтаксиса ссылки.
  • Пустой ввод и исключение представлены успешным результатом с указанием на ошибку, поэтому одного статуса недостаточно для оценки обработки.

Частые ошибки

  • Причина: поле передано пустым или декодирование вызвало исключение, но пользователь ориентируется только на успешный статус. Действие: прочитайте указание на ошибку внутри результата, проверьте входную строку и отправьте её повторно после исправления.

Частые вопросы

Что произойдёт, если оставить ввод пустым?

Если поле не передано, используется значение hello%20world%20%26%20foo%3Dbar. Если передана пустая строка, результат будет успешным, но с указанием на ошибку о непредоставленном тексте.

Что означает сообщение о втором проходе?

Если второй проход изменил текст, в строке оставалась последовательность для дополнительного процентного декодирования. Если изменений нет, второй проход не повлиял на полученный текст.

Почему результат может быть успешным и одновременно содержать ошибку?

Если декодирование вызвало исключение, инструмент всё равно формирует успешный результат, но добавляет указание на ошибку. Проверьте входную строку и повторите обработку после исправления.

Инструмент

Декодер URL