URL-кодирование/декодирование

Процентное кодирование URL, кодирование и декодирование с поддержкой любого текста / не-ASCII символов

Символов: {{ inputText.length }} Байт: {{ byteCount }}
{{ errorMsg }}

О URL-кодировании

URL-кодирование (также называемое процентным кодированием) — это механизм, преобразующий специальные символы в URL в знак %, за которым следуют две шестнадцатеричные цифры. Согласно RFC 3986, URL может содержать только подмножество символов ASCII; другие символы (такие как не-ASCII символы, пробелы и специальные знаки) должны быть закодированы.

В JavaScript encodeURIComponent() кодирует параметры запроса URL — он кодирует каждый символ, кроме A-Z a-z 0-9 - _ . ! ~ * ' ( ). encodeURI() сохраняет структурные символы URL (такие как : / ? # & =).

Распространённые сценарии URL-кодирования: кодирование параметров AJAX-запросов, обработка не-ASCII символов в путях URL и кодирование параметров в подписях OAuth.

Примеры

Входные данные: Привет, мир! → Результат: %D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82%2C%20%D0%BC%D0%B8%D1%80!

Входные данные: hello world! → Результат: hello%20world!

Часто задаваемые вопросы

В: В чём разница между encodeURIComponent и encodeURI?
О: encodeURI не кодирует структурные символы URL (:/?#&=+@$), поэтому подходит для кодирования полного URL; encodeURIComponent кодирует больше символов и подходит для кодирования значений параметров запроса. Этот инструмент использует encodeURIComponent.
В: Пробел кодируется как %20 или как +?
О: encodeURIComponent кодирует пробел как %20. В формате application/x-www-form-urlencoded (например, при отправке формы) пробелы кодируются как +. Оба варианта допустимы.
В: Что такое режим «Кодировать всё»?
О: Режим «Кодировать всё» преобразует каждый символ входных данных в формат %XX, включая буквы и цифры ASCII. Полезен в особых случаях, например когда нужно полностью скрыть содержимое URL.