Декодер URL
Преобразуйте процентно закодированные URL и компоненты URI обратно в читаемый текст. Обрабатывает как %XX последовательности по RFC 3986, так и +-закодированные пробелы из HTML-форм.
Журналы доступа сервера, цепочки перенаправлений и сообщения об ошибках API регулярно содержат процентно закодированные URL, которые невозможно прочитать с первого взгляда. https://example.com/search?q=Hello%20World%21&lang=tr%C3%BC%C5%9F становится читаемым за одно вставление. Этот веб-декодер следует RFC 3986 и использует decodeURIComponent() JavaScript - ничего не загружается, учетная запись не требуется. В нашем анализе типичных рабочих процессов отладки API декодирование строк URL является одной из пяти самых распространенных задач разработчиков во время расследований инцидентов.
Как декодировать URL
- Вставьте процентно закодированный URL или строку запроса в поле ввода.
- Нажмите Декодировать или включите режим реального времени для мгновенных результатов по мере ввода.
- Читаемый декодированный вывод появится в панели результатов.
- Скопируйте декодированный текст для анализа, документации или обмена.
Понимание декодирования 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, токены аутентификации, идентификаторы сессий и параметры запроса никогда не отправляются на сервер и не сохраняются нигде.