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

Конвертируйте текст в процентно-кодированную форму для использования в URL-адресах или декодируйте закодированный URL обратно в читаемый текст. Незаменимый инструмент при работе с параметрами запросов и API.

Возможности

Автоопределение направления
Кодирование компонента
Кодирование URL целиком

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

1. Выберите режим «Кодировать» или «Декодировать».

2. Вставьте URL или текст в поле ввода.

3. Результат отображается в реальном времени справа — нажмите «Копировать».

Об этом инструменте

В URL допустим лишь ограниченный набор символов, поэтому пробелы, кириллица и символы вроде & или = внутри значения нужно кодировать в процентном виде как байты, например %20 или %D1%8F. Этот инструмент кодирует и декодирует в двух режимах, повторяющих встроенные функции JavaScript. Режим компонента (encodeURIComponent) кодирует всё, кроме букв, цифр и - _ . ! ~ * ' ( ), — это правильно для значения одного параметра запроса или сегмента пути. Режим полного URL (encodeURI) оставляет нетронутыми символы, задающие структуру адреса, — : / ? # & =, — что подходит для приведения в порядок целого адреса. Текст кодируется в UTF-8, а если ввод уже похож на закодированный, инструмент переключается на декодирование.

Часто задаваемые вопросы

Когда использовать режим компонента, а когда — режим полного URL?
Режим компонента — для значения, которое вы вставляете в URL, например поискового запроса или адреса перенаправления внутри строки запроса. Режим полного URL — только для целого адреса, который нужно сделать корректным, не нарушив его структуру.
Почему пробел иногда кодируется как +, а иногда как %20?
%20 — стандартная кодировка пробела в URL. Знак + пришёл из кодирования HTML-форм (application/x-www-form-urlencoded), которое используется в строках запроса. Этот инструмент использует %20; при декодировании данных формы сначала замените + на пробелы.
Как кодируются кириллица, китайские и арабские символы или эмодзи?
Каждый символ переводится в байты UTF-8, и каждый байт становится %XX. Например, я превращается в %D1%8F, 你 — в %E4%BD%A0, а é — в %C3%A9. Браузеры часто показывают в адресной строке декодированную форму.
Почему при декодировании возникает ошибка?
После % должны идти две шестнадцатеричные цифры, а байты должны образовывать корректный UTF-8. Одиночный знак %, как в «скидка 50%», или обрезанную последовательность декодировать нельзя; сам знак % кодируйте как %25.
Что такое двойное кодирование?
Если закодировать уже закодированный текст, % превращается в %25, и %20 становится %2520. Обычно так бывает, когда одно и то же значение кодируют и ваш код, и библиотека. Декодируйте дважды, чтобы вернуть текст, а затем закодируйте один раз.

Похожие инструменты