URL-кодировщик
Кодируйте текст для URL: encodeURIComponent, строгий RFC 3986, полный URL (encodeURI) или данные формы с + вместо пробела. Корректный UTF-8, работает в браузере.
Символов: 42 · байт: 47 (UTF-8)
Символов: 0 · байт: 0 (UTF-8)
Работает полностью в вашем браузере. Ваши данные никуда не загружаются.
Что такое URL-кодирование?
Преобразует текст в процентное кодирование, чтобы его можно было безопасно использовать в URL. Символы вне допустимого набора кодируются своими байтами UTF-8, каждый записывается как %XX. Четыре режима соответствуют кодировщикам, которыми разработчики пользуются на практике.
Как пользоваться URL-кодирование
- Введите или вставьте текст в поле Ввод.
- Выберите Режим кодирования: Компонент – encodeURIComponent для значения параметра или сегмента пути, Строгий RFC 3986, Полный URL – encodeURI, чтобы сохранить
: / ? & =, или Данные формы (пробел как +) дляapplication/x-www-form-urlencoded. - Скопируйте закодированную строку из поля Вывод.
Пример
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.