Описание инструмента
О Кодировщик/декодер URL
URL Encoder/Decoder превращает небезопасные или зарезервированные символы URL в текст с процентным кодированием и декодирует закодированные строки обратно в читаемый текст.
Он полезен для параметров запроса, неанглийских путей, адресов обратного вызова и фрагментов URL из логов. Все выполняется локально в браузере.
Как пользоваться URL Encoder/Decoder
- Вставьте полный URL, query значение параметра или текст, который нужно encode.
- Нажмите Encode, чтобы преобразовать пробелы, неанглийский текст и символы в безопасное процентное кодирование.
- Нажмите Decode, чтобы строки вроде %E4%B8%AD%E6%96%87 стали читаемый текст.
- Если нужно закодировать один parameter, кодируйте значение, а не весь строку запроса, чтобы & и = сохранили структуру.
Когда это полезно
- Кодируйте поисковые запросы, адреса обратного вызова или параметры перенаправления перед вставкой в URL, чтобы &, ? и # не ломали параметр.
- Декодировать percent-encoded пути или строки запроса из логов API.
- Отлаживать двойное кодирование в OAuth redirect_uri, вебхуках или ссылках, которыми поделились.
- Сравнить интерфейс encodeURIComponent вывод с тем, что реально получает сервер.
Процентное кодирование, параметры запроса и частые ошибки
Некоторые URL символы имеют структурное значение: ?, &, =, # и /. Процентное кодирование записывает байты как %HH, чтобы символы передавались как данные, а не разбирались как структура URL.
- Пробелы: обычно %20; в кодировании форм может встречаться +.
- Неанглийский текст и эмодзи: сначала кодируются как байты UTF-8, затем записываются процентными последовательностями.
- encodeURI vs encodeURIComponent: encodeURI сохраняет структура URL символы; encodeURIComponent лучше для одного значение параметра.
- Двойное кодирование: %25E4 часто означает, что существующий знак процента закодировали повторно.
Частые вопросы: Кодировщик URL
- Кодировать весь URL или один parameter?
- Обычно кодируют значение параметра. Кодирование всего URL также экранирует : / ? & и может нарушить parsing ссылки.
- Почему space иногда %20, а иногда +?
- %20 — это общее процентное кодирование. Знак + распространен в application/x-www-form-urlencoded.
- Почему после декодирования остаются знаки процента?
- Возможно, текст был закодирован дважды, или исходное значение содержит сам знак процента. Декодируйте ещё раз только если уверены в двойном кодировании.
- Нужен ли URL-кодирование для URL-safe Base64?
- Обычно меньше нужен, потому что нет + и /. Но перед строку запроса проверьте = padding и другие special символы.
- Input отправляется на сервер?
- Нет. Encoding и decoding выполняются локально в браузере и не отправляются на wetool.site.
URL-кодирование и Base64
URL-кодирование делает символы безопасными внутри URL. Base64 представляет байты как текст. Токены, изображения и двоичные данные могут использовать оба формата, но задачи разные.
encodeURI vs encodeURIComponent
Многие ошибки URL-кодирование появляются, когда полную URL и одно значение параметра обрабатывают одинаково.
- Полный URL: семантика encodeURI сохраняет : / ? & = # как структуру и подходит для уже собранной ссылки.
- Parameter значение: encodeURIComponent кодирует &, =, ? и #, подходит для search, redirect_uri, callback и похожих значений.
- Правила форм: application/x-www-form-urlencoded часто пишет пробел как +; общее процентное кодирование обычно использует %20.
Чек-лист отладки URL-кодирования
Если бэкенд получает неправильный параметр URL, проверьте, сколько раз браузер, код интерфейса, шлюз и серверный фреймворк выполняют кодирование или декодирование.
- %25 часто означает, что существующий знак процента был закодирован снова — вероятно двойное кодирование.
- Если redirect_uri содержит собственный строку запроса, внутренние ?, & и = должны быть закодированы как data.
- Не вставляйте декодированный пользовательский ввод напрямую в HTML или адреса перенаправления; используйте списки разрешённых протоколов и экранирование вывода.