ByteCompress

Декодер URL

Преобразуйте процентно закодированные URL и компоненты URI обратно в читаемый текст. Обрабатывает как %XX последовательности по RFC 3986, так и +-закодированные пробелы из HTML-форм.

0 chars
FreeClient-sideNo signup

Журналы доступа сервера, цепочки перенаправлений и сообщения об ошибках API регулярно содержат процентно закодированные URL, которые невозможно прочитать с первого взгляда. https://example.com/search?q=Hello%20World%21&lang=tr%C3%BC%C5%9F становится читаемым за одно вставление. Этот веб-декодер следует RFC 3986 и использует decodeURIComponent() JavaScript - ничего не загружается, учетная запись не требуется. В нашем анализе типичных рабочих процессов отладки API декодирование строк URL является одной из пяти самых распространенных задач разработчиков во время расследований инцидентов.

Как декодировать URL

  1. Вставьте процентно закодированный URL или строку запроса в поле ввода.
  2. Нажмите Декодировать или включите режим реального времени для мгновенных результатов по мере ввода.
  3. Читаемый декодированный вывод появится в панели результатов.
  4. Скопируйте декодированный текст для анализа, документации или обмена.

Понимание декодирования URL

Что декодируется

Декодер отменяет процентное кодирование RFC 3986, заменяя каждую %XX последовательность на символ, соответствующий этому шестнадцатеричному байтовому значению. Для многобайтовых символов Unicode несколько последовательностей %XX декодируются вместе как последовательность байтов UTF-8. Знак + в строках запроса опционально декодируется как пробел - это application/x-www-form-urlencoded соглашение, используемое при отправке HTML-форм.

Распространенные последовательности и их значения

  • %20 → пробел (стандарт RFC 3986)
  • %2B+
  • %2F/
  • %3A:
  • %3D=
  • %26&
  • %40@
  • %23#
  • %C5%9Fş (многобайтовый UTF-8)
  • %E4%B8%AD (многобайтовый UTF-8)

Пример

Входные данные

https://example.com/search?q=Hello%20World%21&lang=tr%C3%BC%C5%9F

Выходные данные

https://example.com/search?q=Hello World!&lang=trüş

Распространенные случаи использования

  • Анализ журналов сервера - Чтение параметров запроса и URL-адресов рефереров в журналах доступа
  • Отладка перенаправлений - Декодирование значений ?redirect= или ?return_to= в процессах аутентификации
  • Тестирование API - Декодирование URL запросов, захваченных в сетевых трассах, перед их анализом
  • Проверка аналитики - Чтение фактического содержимого параметров UTM и отслеживающих URL

Распространенные ошибки

  • Дважды закодированные URL - %2520 декодируется в %20, а не в пробел, потому что %25 - это кодировка для % самого; вам нужно декодировать дважды
  • Неправильная обработка + - + означает пробел только в данных формы; в сегментах пути + является буквальным знаком плюс; переключите опцию формы данных соответственно
  • Не-UTF-8 кодирование - Старые веб-приложения могут использовать ISO-8859-1; декодированный вывод будет выглядеть искаженно для не-ASCII символов в таких случаях

Чтобы закодировать URL, используйте Кодировщик URL. Для JSON, встроенного в параметры запроса URL, сначала декодируйте с помощью этого инструмента, затем проверьте с помощью JSON Validator. Чтобы декодировать Base64, найденный в URL, используйте Декодер Base64 в безопасном режиме URL.

Часто задаваемые вопросы

Что означает декодирование URL?

Декодирование URL (процентное декодирование) отменяет процентное кодирование, определенное в RFC 3986. Оно заменяет каждую %XX последовательность на соответствующий байт, который представляет шестнадцатеричная пара, а затем интерпретирует последовательность байтов как текст UTF-8. Hello%20World%21 становится Hello World!, потому что %20 - это шестнадцатеричное представление пробела (байт 0x20), а %21 - это шестнадцатеричное представление восклицательного знака (байт 0x21).

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

Неправильный вывод обычно означает, что URL был закодирован с использованием кодировки, отличной от UTF-8 (например, ISO-8859-1, распространенной в старых веб-приложениях), или данные закодированы дважды. Если вы видите, что %2520 декодируется в %20, а не в пробел, значит, URL был закодирован дважды. Декодируйте его еще раз, чтобы получить фактическое значение.

В чем разница между %20 и + для пробелов?
%20 - это стандарт RFC 3986 для пробела, используемый в путях URL и значениях запросов в современных API. Знак + представляет пробел только в формате application/x-www-form-urlencoded (отправка HTML-форм). Этот декодер обрабатывает оба варианта: %20 всегда декодируется как пробел; + декодируется как пробел в режиме формы.
Могу ли я декодировать весь URL с параметрами запроса сразу?

Да. Вставьте полный URL, включая схему, хост, путь и строку запроса. Декодер обрабатывает все процентные закодированные последовательности за один проход. Обратите внимание, что декодирование структурных символов, таких как %2F и %3F, может сделать результирующий URL неработоспособным - используйте полностью декодированную версию только для чтения, а не для отправки запросов.

Безопасно ли использовать этот инструмент с частными URL, содержащими токены или идентификаторы сессий?

Да. Декодирование выполняется полностью на стороне клиента с использованием decodeURIComponent() JavaScript. URL, токены аутентификации, идентификаторы сессий и параметры запроса никогда не отправляются на сервер и не сохраняются нигде.