Без загрузки, 100% локально, без аккаунта

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

Кодируйте специальные символы в URL или декодируйте строки в процентном формате. Всё остаётся в вашем браузере.

Как работает Кодировщик / декодировщик URL

Кодировщик/декодировщик URL преобразует строки в процентное кодирование и обратно (также называемое URL-кодированием), что требуется по RFC 3986 для безопасного включения специальных символов в URL. Вставьте исходную строку для кодирования или вставьте строку в процентном кодировании для обратного декодирования. Преобразование выполняется полностью в браузере с помощью JavaScript-функций encodeURIComponent и decodeURIComponent; ничто из введённого не покидает устройство.

URL-кодирование важно при программном создании параметров запроса, URI перенаправления или канонических ссылок. Пробел становится %20, амперсанд %26, решётка %23 и так далее. Кодирование также применяется к интернационализированным доменным именам и символам не ASCII в сегментах пути. Инструмент также предлагает режим encodeURI для кодирования полных URI с сохранением структурных символов, таких как '/', '?' и '#'.

Кодировщик / декодировщик URL: пошаговая инструкция

  1. Вставьте текст для кодирования или декодирования в поле ввода.
  2. Выберите «Кодировать» для процентного кодирования текста или «Декодировать» для обратного преобразования.
  3. Выберите режим «encodeURIComponent» для значений параметров запроса или «encodeURI» для полных URI.
  4. Скопируйте результат из поля вывода.

Частые сценарии использования

  • Разработчик, создающий URL переадресации поиска, хочет закодировать строку запроса в процентном формате, чтобы специальные символы не нарушали структуру URL.
  • Интегратор API получает URL обратного вызова в процентном кодировании в теле вебхука и хочет декодировать его для проверки целевого адреса.
  • Редактор контента копирует URL с символами с диакритикой из браузера и хочет закодировать его для использования в ссылке Markdown.
  • QA-инженер тестирует конечную точку проверки ввода, кодируя граничные символы '<', '>' и '&' перед отправкой.

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

В чём разница между encodeURIComponent и encodeURI?

encodeURIComponent кодирует всё, кроме букв, цифр и символов - _ . ! ~ * ' ( ). Он предназначен для кодирования отдельных компонентов, например значений параметров запроса. encodeURI оставляет структурные символы URI (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) без кодирования, поскольку предполагает, что ввод является полным URI. Используйте encodeURIComponent для значений, encodeURI для целых URL.

Передаётся ли вставленный здесь текст на какой-либо сервер?

Нет. Кодирование и декодирование вызывают встроенные функции JavaScript encodeURIComponent и decodeURIComponent, которые полностью выполняются в движке JavaScript браузера. Ничто из введённого здесь никуда не отправляется.

Почему пробел иногда становится '+', а не '%20'?

Нотация '+' для пробелов происходит из более старого формата application/x-www-form-urlencoded, используемого при отправке HTML-форм, который отличается от процентного кодирования по RFC 3986. Этот инструмент использует строгое процентное кодирование RFC 3986, поэтому пробелы становятся %20. Если целевая система ожидает '+' для пробелов, нужно заменить %20 на '+' вручную после кодирования.

Можно ли закодировать полный URL, включая строку запроса, за один раз?

Да, используя режим «encodeURI». Этот режим сохраняет '/', '?', '=', '&', '#' и другие структурные символы URL, кодируя при этом не-ASCII и зарезервированные символы в значениях сегментов или параметров. Используйте «encodeURIComponent» только для отдельных значений параметров, а не для всего URL.

Поддерживает ли этот инструмент символы Unicode и эмодзи?

Да. JavaScript-функция encodeURIComponent сначала преобразует символ в байтовую последовательность UTF-8, затем кодирует каждый байт в процентном формате. Эмодзи «палец вверх» кодируется как многобайтовая последовательность, например %F0%9F%91%8D. Декодирование обращает процесс корректно.