Кодировщик / декодер URL

Введите или вставьте текст — кодировка URL появится сразу, либо прочитайте параметры ссылки таблицей. Без кнопок, ничего не загружается.

Как пользоваться

  1. Выберите «Кодировать», «Декодировать» или «Параметры» — поле ввода остаётся точно таким же, поэтому один и тот же текст можно посмотреть с обеих сторон, не перенабирая.
  2. Кодировать: введите или вставьте текст, и процентно-закодированное значение появится сразу. «Компонент» (по умолчанию) — то, что должно быть внутри одного значения запроса или сегмента пути; «Полный URL» сохраняет : / ? & = #, чтобы выжил весь адрес.
  3. Декодировать: вставьте %D0%9A…, чтобы прочитать исходник. Включите «Форма (+)», если значение пришло из формы, и «Декодировать многократно» для дважды закодированных ссылок (до 10 слоёв, число показывается).
  4. Параметры: вставьте полный URL или строку запроса и получите все ключи и значения уже декодированными, включая повторы. Скопируйте одно значение или всю таблицу строками «ключ: значение».

Пример

Ввод

Кофе & сливки?

Закодировано

%D0%9A%D0%BE%D1%84%D0%B5%20%26%20%D1%81%D0%BB%D0%B8%D0%B2%D0%BA%D0%B8%3F

В UTF-8 кириллическая буква занимает два байта, поэтому один символ превращается в две escape-последовательности; пробел — %20, & — %26, ? — %3F. Переключитесь на «Декодировать» и вставьте результат, чтобы получить исходник. В режиме «Параметры» «?q=a+b&lang=ru» даёт q = «a b» (здесь + означает пробел) и lang = «ru».

Правила, ограничения и известные проблемы

  • Только UTF-8: GBK, Shift_JIS, Latin-1 и другие кодировки, которые предлагают некоторые инструменты, не поддерживаются, и кодировка никогда не угадывается. «Кракозябры» означают, что ссылка была закодирована в другой кодировке.
  • Кодирование не распознаёт уже закодированный текст: %E4%BD%A0 становится %25E4%25BD%25A0. Используйте «Декодировать», чтобы вернуть escape-последовательности в символы.
  • Декодирование строгое: «%» без двух шестнадцатеричных цифр или байты, не являющиеся корректным UTF-8, сообщаются с позицией, а не заменяются на «�».
  • «Форма (+)» меняет только пробелы: при кодировании %20 становится +, при декодировании + становится пробелом. Литеральный плюс — это %2B. Режим «Параметры» всегда читает + как пробел, как это делают серверы со строками запроса.
  • Полноширинный пробел (U+3000, частый при вводе на китайском и японском) — это %E3%80%80, а не %20, и «Форма (+)» его не трогает. Полноширинные и арабо-индийские цифры кодируются своими байтами — к ASCII они никогда не приводятся.
  • Режим «Параметры» только читает: он сохраняет исходный порядок и все повторяющиеся ключи, не разбирает вложенные ключи вроде a[b]=c, не сортирует и не трогает #fragment (поддерживается hash-маршрут вида #?a=b).
  • До 100 000 символов; выше появляется ошибка, а не усечённый результат. Свыше 20 000 символов результат обновляется примерно через 0,6 с после остановки ввода.
  • Нет загрузки файлов, истории и ссылки, передающей ввод: всё работает в браузере, и текст не покидает страницу.

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