Кодировать и раскодировать
URL
Текст в вид, пригодный для адреса, и обратно. Ссылки из старых систем читаются тоже — те, на которых встроенный декодер браузера просто отказывается работать.
Результат появится здесьКусок адреса и адрес целиком — это разные задачи
В адресе разрешены только латиница, цифры и горстка знаков. Всё остальное — кириллица, пробелы, кавычки — записывается процентом и двумя цифрами: по такой паре на каждый байт. Отсюда и знакомые «%D0%BE%D0%B1%D1%83%D0%B2%D1%8C» вместо слова «обувь».
Главная ошибка при кодировании — закодировать не то. Если вы готовите значение параметра, косая черта и знак вопроса внутри него обязаны стать процентами: иначе они порежут ссылку, и то, что было одним значением, сервер прочтёт как новый путь и новый параметр. А если кодируете адрес целиком, те же символы трогать нельзя — они и есть разделители. Поэтому здесь три режима, а не кнопка «закодировать»: «Кусок адреса», «Адрес целиком» и «Поле формы», где пробел записывается плюсом.
При раскодировании выходит другая история — кодировка. Встроенная в браузер функция умеет только UTF-8 и на строке из старой системы не ошибается, а падает с ошибкой, не отдавая ничего. Строки вида «%CF%F0%E8%E2%E5%F2» — это Windows-1251, и здесь они читаются: кодировка определяется по байтам, а переключатель рядом позволяет задать её вручную.
- Три режима: кусок адреса, адрес целиком, поле формы
- Windows-1251 в обе стороны — там, где браузер сдаётся
- Параметры ссылки показываются списком, уже раскодированными
- Одинокий процент в тексте не ломает разбор
- Регистр цифр на выбор: %D0 или %d0