Кодирование и декодирование URL
Раскодируйте ссылку вида %D0%BF%D1%80… в читаемый текст или закодируйте адрес и параметры для URL.
Всё считается в вашем браузере: введённые данные никуда не отправляются.
Почему ссылки превращаются в набор процентов
В адресе можно использовать только латиницу, цифры и несколько знаков препинания. Кириллица, пробелы и спецсимволы записываются в процентной кодировке: каждый байт символа в UTF-8 превращается в % и две шестнадцатеричные цифры. Слово «поиск» становится %D0%BF%D0%BE%D0%B8%D1%81%D0%BA. Браузер показывает адрес красиво, но при копировании в мессенджер или таблицу вы получите закодированный вариант.
Два режима кодирования
- Значение параметра кодирует все служебные символы, включая
/ ? & = #. Так кодируют текст, который подставляется в параметр:?q=,utm_term=,redirect_uri=. - Адрес целиком сохраняет структуру ссылки: двоеточие, косые черты, вопросительный знак и амперсанды остаются на месте, а кодируются только кириллица и пробелы.
Декодирование
Вставьте одну или несколько ссылок, по одной на строку, — каждая будет раскодирована отдельно. Это удобно для разбора отчётов Яндекс Метрики, логов сервера и UTM-меток. Если в ссылке встречается испорченная последовательность, инструмент раскодирует всё, что возможно, а остальное оставит как есть. Флажок «Плюс как пробел» нужен для данных из HTML-форм, где пробел кодируется знаком +.
Частые вопросы
Чем encodeURI отличается от encodeURIComponent?
encodeURI («Адрес целиком») не трогает символы, которые делят URL на части. encodeURIComponent («Значение параметра») кодирует и их — так значение не сломает адрес.
Нужно ли кодировать кириллические домены?
Домены вроде сайт.рф кодируются отдельно, через Punycode (xn--80aswg.xn--p1ai). Процентная кодировка применяется к пути и параметрам.
Почему получились символы вроде п?
Строку закодировали в одной кодировке, а раскодировали в другой, например Windows-1251 вместо UTF-8. Инструмент работает с UTF-8, стандартом для URL.