URL кодировщик
Кодируйте строки в формат URL: пробелы, кириллица и спецсимволы станут безопасными.
URL кодировщик: кодирование строк для использования в URL
URL-кодирование (процентное кодирование) — это способ представления символов, которые недопустимы или имеют специальное значение в URL. Кодировщик превращает произвольную строку в формат, безопасный для вставки в адресную строку, параметры запроса, пути и фрагменты.
Зачем нужно URL-кодирование
URL имеет строго определённый синтаксис. Некоторые символы зарезервированы для служебных целей: ? начинает строку запроса, & разделяет параметры, # указывает на фрагмент, / разделяет сегменты пути. Если эти символы встречаются в данных, их нужно закодировать, иначе URL будет интерпретирован неверно. Кроме того, URL может содержать только ограниченный набор ASCII-символов, поэтому кириллица, пробелы, эмодзи и другие символы требуют кодирования.
Без кодирования ссылка может просто не работать или привести к неверной интерпретации данных на сервере. Особенно это критично для форм, API и динамических ссылок.
Как работает процентное кодирование
Каждый символ, который нужно закодировать, представляется в виде одного или нескольких байтов (обычно в UTF-8), а затем каждый байт записывается как % и две шестнадцатеричные цифры. Например, пробел кодируется как %20, символ & — как %26, русская буква «А» — как %D0%90.
Не все символы нужно кодировать. Буквы латинского алфавита, цифры и некоторые знаки (-, _, ., ~) остаются без изменений. Остальные символы могут кодироваться в зависимости от контекста: в пути и параметрах запроса правила немного различаются.
Где применяется URL-кодирование
- Параметры запроса. Значения после
?и&должны быть закодированы, чтобы специальные символы не ломали структуру. - Пути URL. Если в пути есть пробелы или кириллица, их нужно закодировать.
- Формы HTML. Данные, отправляемые методом GET или POST с типом
application/x-www-form-urlencoded, кодируются автоматически браузером. - API-запросы. При формировании URL вручную важно кодировать все динамические части.
- Ссылки в документах. Если URL содержит специальные символы, его нужно представить в безопасном виде.
Разница между encodeURI и encodeURIComponent
В JavaScript есть две функции: encodeURI() кодирует строку целиком, сохраняя служебные символы URL (:, /, ?, # и другие) без изменений. encodeURIComponent() кодирует всё, кроме букв, цифр и нескольких знаков, и подходит для кодирования отдельных параметров. При работе с URL важно понимать, какую часть вы кодируете: весь адрес или только значение параметра.
Если закодировать весь URL через encodeURIComponent, служебные символы тоже будут закодированы, и ссылка перестанет работать. Если закодировать только значение параметра через encodeURI, специальные символы могут остаться и сломать структуру.
Ошибки и нюансы
Частая ошибка — двойное кодирование. Если строка уже закодирована, повторное применение кодировщика превратит %20 в %2520, что приведёт к неверной интерпретации. Также важно использовать правильную кодировку символов: современные системы работают с UTF-8, но старые могут ожидать другую кодировку. Кроме того, некоторые серверы могут отклонять запросы с незакодированными символами или, наоборот, требовать минимального кодирования.
Ещё один нюанс — пробелы. В параметрах запроса пробел может кодироваться как %20 или как +. Оба варианта допустимы в разных контекстах, но + обычно используется только в application/x-www-form-urlencoded.
Заключение
URL-кодировщик — базовый инструмент для веб-разработчиков, тестировщиков и всех, кто работает с URL. Он помогает формировать корректные ссылки, отлаживать запросы и избегать ошибок, связанных со специальными символами. Главное — применять его осознанно и понимать, какие символы и почему требуют кодирования.
Похожие инструменты
Декодируйте URL-строки: процентные последовательности снова станут читаемым текстом.
Популярные инструменты
Декодируйте Base64-строки обратно в исходный текст, токены, data URI и бинарные данные.
Извлекайте email-адреса из любого текста.
Считайте количество символов, слов и строк в тексте онлайн.
Получите приблизительные сведения об IP-адресе: провайдер, регион, координаты.