Начать Добавить сайт

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

Developer Tools

Примените процентное кодирование к тексту или восстановите исходную строку, выбирая между целой ссылкой и одним значением запроса.

Ваши данные

Все инструменты

Результат

Результат —
  • Символов на входе —
  • Символов на выходе —
  • Выходные байты — B

Измените любое значение — результат обновится сразу.

Формула и правила

  • Процентное кодирование записывает каждый байт вне разрешённого набора как знак процента и две шестнадцатеричные цифры.
  • A space becomes %20, a slash becomes %2F, and the ampersand becomes %26 — the last one matters because & separates query parameters.
  • encodeURI оставляет : / ? # & = без изменений, чтобы структура ссылки сохранялась, а encodeURIComponent экранирует их.
  • Декодирование преобразует каждую последовательность %XX обратно в исходные байты UTF-8, поэтому китайский текст возвращается в виде обычных символов.

Примеры расчётов

Значение внутри строки запроса

Ввод a b&c со значением scope.

Результат a%20b%26c — the & is escaped so it cannot be read as a second parameter.

Тот же текст как полный URL

Ввод a b&c с областью действия всего URL.

Результат a%20b&c — the space is still escaped but & is preserved as a separator.

Декодирование китайского текста

Ввод %E4%BD%A0%E5%A5%BD

Результат 你好 — три байта UTF-8 превращаются в три последовательности %XX, а декодирование восстанавливает их.

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

Когда нужен encodeURIComponent, а не encodeURI?

Используйте encodeURIComponent для любого значения, которое вы помещаете после ? или &, потому что неэкранированные & или = внутри значения разорвут запрос. Используйте encodeURI только для полной ссылки, в которой разделители уже расставлены.

Why does a space sometimes become + instead of %20?

The plus sign belongs to form encoding for application/x-www-form-urlencoded bodies, where it means a space. JavaScript URL functions write %20 instead. This tool reads + as a space when decoding and always writes %20 when encoding, so the two conventions do not collide.

Why do I see %25 in my links?

%25 is an encoded percent sign, which means the text was encoded twice. Encode once at the point where the value is inserted, not again when building the final link.

Что происходит при незавершённой последовательности %?

Декодирование завершается ошибкой, поскольку после % должны идти ровно две шестнадцатеричные цифры. Этот инструмент сообщает о проблеме, а не отбрасывает символы молча.

Отказ от ответственности: Результаты рассчитаны по формуле на этой странице и носят справочный характер. Реальные объёмы зависят от материалов, технологии и условий, поэтому перед заказом закладывайте запас.