Перейти к содержимому

Кодирование URL онлайн — encodeURIComponent

Сделайте текст безопасным внутри URL: пробелы, не-ASCII и символы становятся последовательностями `%XX`. Когда собираете query, склеиваете callback URL или чините ссылки, ломающиеся при вставке китайского или пробелов. По умолчанию — `encodeURIComponent`: лучше для одного значения параметра, а не слепого кодирования всего URL.

URL Decode

`%E4%BD%A0%E5%A5%BD` в адресной строке — «привет» по-китайски в UTF-8 percent-encoding. Сырой `?name=张三` в URL часто обрезается или портится дальше по цепочке.

`encodeURIComponent` агрессивен — хорошо для значений. Кодирование полного URL им может сломать `://`, если неаккуратно; используйте режимы целого URL, когда страница их предлагает.

Кодируйте перед отправкой, декодируйте при отладке — это пара.

Как закодировать

  1. Вставьте текст, который пойдёт в URL
  2. Подтвердите режим (по умолчанию подходит для значений параметров)
  3. Скопируйте закодированный вывод в адрес

Когда кодировать

  • Ручные query со «опасными» символами.
  • OAuth-callback, ожидающие закодированные параметры.
  • Сверить документацию с реальными запросами байт в байт.

Сценарии

  • Поисковые термины в `?q=`
  • Имена файлов с пробелами в параметрах ссылки скачивания
  • Проверка примеров URL из API-доков

Советы

  • Кодируйте значение, а не уже закодированную ссылку — двойное кодирование даёт `%25`.
  • Пробелы часто становятся `%20`; некоторые формы используют `+` — знайте спецификацию.
  • Не уверены — закодируйте, затем декодируйте на странице декодирования для проверки.

Примеры

ВводВыводПримечание
привет (не-ASCII)Percent-encoded байты UTF-8напр. 你好 → %E4%BD%A0%E5%A5%BD
a ba%20bПробел
a=1&b=2a%3D1%26b%3D2Как одно значение параметра

Частые вопросы о кодировании URL

Чем отличается от Base64?
Разные задачи: URL-кодирование делает текст безопасным в URL; Base64 оборачивает двоичные данные или куски токенов.
Что если закодировать дважды?
Получите `%25` для закодированных знаков процента. Обычно кодируйте один раз.
Путь и query кодировать одинаково?
У каждого свои правила; кодирование значений параметров режимом по умолчанию здесь — частый случай.

Связанные инструменты