Декодер URL

Percent-encoding: пробелы, кириллица и спецсимволы в адресе. Encode собирает коды, Decode возвращает читаемый текст.

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

Адрес в браузере должен укладываться в ограниченный набор символов. Пробел, кавычки, кириллица и многие знаки записываются как % и два шестнадцатеричных числа. Это percent-encoding из RFC 3986, не «шифрование ссылки».

Примеры

  • Пробел → %20
  • Буква «я» в UTF-8 → %D1%8F
  • Строка привет мир после кодирования начинается с %D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82

В query иногда пробел заменяют на +. Если после Decode плюсы остались на месте, замените их на пробел вручную или закодируйте заново через Encode.

Когда какой метод

Целый адрес с протоколом и путём обычно кодируют осторожно, чтобы не сломать / и ?. Отдельный параметр — строже, иначе амперсанд внутри значения разрежет query. Эта страница подходит, чтобы быстро посмотреть, как выглядит строка «в процентах» и вернуть её назад.

Если вместо % видите длинную латиницу без пробелов, это может быть Base64, а не URL-encoding.

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

Зачем в адресе %20 вместо пробела?

Пробел в URL запрещён. Его записывают как %20 — знак процента и шестнадцатеричный код символа. В формах иногда ещё ставят плюс.

Чем encodeURI отличается от encodeURIComponent?

encodeURI оставляет служебные знаки адреса: слэш, вопрос, решётку. encodeURIComponent кодирует и их — так безопаснее класть значение в query-параметр.

Почему кириллица превращается в %D0%...?

Браузер берёт байты UTF-8 и каждый байт пишет как %XX. Для буквы «п» это обычно %D0%BF.

Можно ли декодировать любой процент в ссылке?

Да, если это корректный percent-encoding. Битая строка с одиночным % или нечётным хвостом не соберётся в текст.