Декодер 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. Битая строка с одиночным % или нечётным хвостом не соберётся в текст.