URL-кодировщик

Кодируйте текст для URL: encodeURIComponent, строгий RFC 3986, полный URL (encodeURI) или данные формы с + вместо пробела. Корректный UTF-8, работает в браузере.

Символов: 42 · байт: 47 (UTF-8)

Символов: 0 · байт: 0 (UTF-8)

Работает полностью в вашем браузере. Ваши данные никуда не загружаются.

Что такое URL-кодирование?

Преобразует текст в процентное кодирование, чтобы его можно было безопасно использовать в URL. Символы вне допустимого набора кодируются своими байтами UTF-8, каждый записывается как %XX. Четыре режима соответствуют кодировщикам, которыми разработчики пользуются на практике.

Как пользоваться URL-кодирование

  1. Введите или вставьте текст в поле Ввод.
  2. Выберите Режим кодирования: Компонент – encodeURIComponent для значения параметра или сегмента пути, Строгий RFC 3986, Полный URL – encodeURI, чтобы сохранить : / ? & =, или Данные формы (пробел как +) для application/x-www-form-urlencoded.
  3. Скопируйте закодированную строку из поля Вывод.

Пример

Ввод
a b&c=é
Вывод
a%20b%26c%3D%C3%A9

Режим компонента. В режиме формы получится a+b%26c%3D%C3%A9.

Когда использовать URL-кодирование

Для отдельных значений параметров используйте режим компонента, но никогда не кодируйте им URL целиком: /, ? и & тоже будут закодированы. Режим полного URL подходит только для адреса, который уже правильно устроен. Отправка HTML-форм и многие серверные фреймворки ожидают режим формы.

Как работает URL-кодирование

Текст переводится в байты UTF-8. Байты из безопасного набора выбранного режима остаются как есть, остальные становятся % и двумя шестнадцатеричными цифрами в верхнем регистре. Режим компонента сохраняет A–Z a–z 0–9 - _ . ! ~ * ' ( ) (как encodeURIComponent в JavaScript); режим RFC 3986 сохраняет только A–Z a–z 0–9 - . _ ~; режим полного URL дополнительно сохраняет ; , / ? : @ & = + $ # (как encodeURI); режим формы сохраняет A–Z a–z 0–9 * - . _ и записывает пробелы как + (как URLSearchParams).

Распространенные Случаи Использования

  • Кодирование поискового запроса или адреса перенаправления как параметра запроса
  • Построение базовых строк подписи для OAuth или API (режим RFC 3986)
  • Подготовка тела формы для curl -d
  • Кодирование не-ASCII путей, например кириллических или китайских slug

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

Пробел кодировать как %20 или как +?

%20 допустим в любой части URL. + означает пробел только в строках запроса, закодированных как форма; для этого выберите режим Данные формы (пробел как +).

Чем encodeURI отличается от encodeURIComponent?

encodeURI сохраняет символы, задающие структуру URL (: / ? # & =), а encodeURIComponent кодирует их, чтобы значение не могло нарушить структуру адреса.

Почему é превращается в два кода?

В URL используется UTF-8: é — это два байта C3 A9, каждый из которых записывается как %XX.

Другие категории