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

Закодируйте компонент URL, чтобы специальные знаки остались частью значения. Подготовьте параметры без путаницы с разделителями адреса.

Обработка выполняется в браузере. Лимит ввода: 1 МБ.

Инструменты разработчика

Закодируйте компонент URL, чтобы специальные знаки остались частью значения. Подготовьте параметры без путаницы с разделителями адреса.

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

Введите только нужный компонент. Вставьте результат в соответствующую часть URL, не кодируя весь адрес целиком.

Пример

red & blue становится red%20%26%20blue. Амперсанд не разделит значение на разные параметры.

Вопросы и ответы

Нужно ли кодировать весь URL?

Нет. Кодировщик экранирует и структурные знаки, включая : и /. Обрабатывайте отдельные значения перед сборкой адреса.

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

Практическая задача

Кодируйте значение до соединения с именем и разделителями запроса. Пробелы, амперсанды и нелатинские буквы должны остаться внутри значения, а не менять адрес.

Дополнительный вопрос

Можно кодировать уже закодированное?

Тогда проценты экранируются снова. Начинайте с исходного значения, если формат явно не требует ещё одного слоя.

Детали для проверки результата

Деталь Пояснение
Части URL URL содержит схему, домен, путь, запрос и фрагмент. Разделители этих частей отличаются от знаков внутри значения. Кодируйте нужный компонент, а не меняйте полный адрес вслепую.
Процентное кодирование Знак процента и две шестнадцатеричные цифры обозначают байт, а не видимый символ. Несколько таких записей могут относиться к одному символу Unicode, занимающему несколько байтов UTF8.
Значения запроса Разделители запроса связывают имена параметров и значения. Амперсанд внутри значения нельзя путать с границей параметров. Перед публикацией соберите адрес с правильным кодированием частей.
Фрагменты URL Фрагмент указывает место внутри ресурса и обычно не отправляется серверу. Это не параметр запроса. Его изменение не обязательно создаёт другой документ для выбора канонического адреса.
Байты UTF8 UTF8 записывает символы байтами. Базовая латиница занимает один байт на букву, многие другие знаки занимают больше. Число байтов не равно числу видимых символов.
Кодирование и шифрование Кодирование меняет представление данных для чтения другой системой и не требует секретного ключа. Шифрование защищает сведения ключом, а хеширование создаёт отпечаток для другой задачи.
Ссылки на символы HTML Запись вроде & обозначает знак внутри HTML. При вложении она может быть экранирована повторно. Снятие одного слоя отличается от полного декодирования всех уровней.
Открытые данные URL Адреса копируются, записываются в журналы и аналитику. Не помещайте пароли, личные сведения клиентов и секретные токены в обычные параметры или общедоступные ссылки: кодирование их не защищает.
Внешне одинаковый текст Две строки могут выглядеть одинаково, но иметь разные последовательности Unicode. Буква с акцентом бывает цельным знаком или сочетанием. Внешнее сходство не доказывает равенство байтов.