Сервис онлайн преобразования urlencode urldecode позволит вам преобразовать нужную строку для использования в ссылках или, наоборот, строки, полученные из ссылки, привести к читаемому виду.
Что такое URL-кодирование
В адресе (URL) можно использовать только ограниченный набор символов ASCII. Всё остальное — пробелы, кириллица, спецсимволы — записывается через percent-encoding: каждый байт заменяется на знак % и две шестнадцатеричные цифры. Например, пробел — %20, & — %26.
Зарезервированные символы
Символы : / ? # [ ] @ ! $ & ' ( ) * + , ; = имеют в URL служебный смысл (разделяют схему, путь, параметры). Если такой символ — часть значения, его нужно закодировать: a&b=c/d? → a%26b%3Dc%2Fd%3F. Буквы, цифры и - _ . ~ не кодируются никогда.
Кириллица и UTF-8
Не-ASCII символы сначала переводятся в байты UTF-8, и кодируется каждый байт. Одна русская буква — 2 байта, то есть 6 символов:
| Исходная строка | URL-encoded |
|---|---|
| Привет мир | %D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82%20%D0%BC%D0%B8%D1%80 |
| a b+c (в форме) | q=a+b%2Bc |
| https://example.com/поиск?q=a b | https://example.com/%D0%BF%D0%BE%D0%B8%D1%81%D0%BA?q=a%20b |
+ или %20
Пробел кодируется двумя способами. В пути URL — только %20. В параметрах HTML-форм (application/x-www-form-urlencoded) — знаком +, а сам плюс тогда пишется как %2B. В PHP это разница между urlencode() (пробел → +) и rawurlencode() (пробел → %20).
encodeURIComponent и encodeURI
encodeURIComponent()— для отдельного значения (параметра, сегмента пути): кодирует и служебные символы/ ? & =.encodeURI()— для целого адреса: оставляет: / ? & = #как есть, кодирует только недопустимые символы.- Правило: значения параметров всегда кодируйте через encodeURIComponent, иначе символ & в значении «разорвёт» строку запроса.
Где пригодится
- сборка ссылок с параметрами (UTM-метки, поисковые запросы, redirect_uri в OAuth);
- чтение «нечитаемых» ссылок из логов, адресной строки и аналитики;
- отладка API и форм, где значение пришло закодированным дважды (%2520 вместо %20).
Как пользоваться страницей
- Введите текст в поле исходного текста — закодированная строка появится в поле результата.
- Вставьте URL-encoded строку в поле результата — она раскодируется в читаемый вид.