Кодирование URL
Процентное кодирование текста и ссылок и обратно
Кодирует текст в формат процентного кодирования для ссылок и декодирует его обратно в обычный текст — с явным переключателем режима.
Как это работает
Кодирование использует встроенную функцию encodeURIComponent: пробелы, амперсанды и нелатинские буквы превращаются в последовательности вида %XX, поэтому результат безопасно вставлять в строку запроса или сегмент пути. Декодирование выполняет обратное преобразование через decodeURIComponent и сообщает об ошибке, а не пытается угадать смысл повреждённых последовательностей.
Частые вопросы
Почему режим переключается вручную, а не определяется автоматически?
Обычный текст и текст с процентным кодированием не всегда можно надёжно отличить: в обычном тексте вполне может встретиться символ %. Явный переключатель избавляет от неверной догадки.
Почему декодирование завершилось ошибкой?
В тексте есть повреждённая последовательность: одиночный %, неполный код %XX или оборванный закодированный символ. Функция decodeURIComponent не может безопасно их разобрать, поэтому выдаётся ошибка вместо молча неверного результата.
Что именно кодируется?
Всё, что само по себе небезопасно внутри ссылки: буквы, цифры и небольшой набор знаков препинания остаются как есть, а пробелы, символы и нелатинские буквы превращаются в последовательности %XX.
Это то же самое, что закодировать ссылку целиком?
Нет — инструмент рассчитан на кодирование одного значения, например параметра запроса или сегмента пути. Если пропустить через него целую ссылку, закодируются и символы :// и /, которые должны остаться нетронутыми, иначе ссылка перестанет быть рабочей.
Отправляется ли текст куда-нибудь?
Нет — оба направления работают целиком в вашем браузере встроенными средствами JavaScript. Ничего не загружается.