URL кодирование / декодирование
Percent-кодирование и декодирование URL и строк запроса в режимах component, URI и form, с кодировками UTF-8, UTF-16 и Latin-1. Локально в браузере.
Введённые данные и файлы остаются в браузере
Вставьте URL, строку запроса или обычный текст, чтобы закодировать или декодировать его.
Здесь появится результат кодирования или декодирования.
На этой странице
Кодируйте текст для URL в percent-encoding и декодируйте последовательности %XX обратно в читаемый текст. Три режима соответствуют encodeURIComponent, encodeURI из JavaScript и кодированию HTML-форм, а работу выполняет WebAssembly-модуль, собранный из Rust, прямо в браузере.
Подробное описание функциональности
Режим Component экранирует всё, кроме букв, цифр и - _ . ! ~ * ' ( ), то есть кодирует и /, ?, &, =: используйте его для одного значения параметра запроса или одного сегмента пути. Режим URI сохраняет структуру полного адреса (: / ? # & = + $ , ; @) и экранирует только пробелы и символы, которые в URL недопустимы. Режим Form следует application/x-www-form-urlencoded: пробелы становятся +, экранируется всё, кроме букв, цифр и - _ . *; при декодировании + снова превращается в пробел.
Перед кодированием текст переводится в байты в выбранной кодировке. UTF-8 — стандарт веба; ISO-8859-1 (Latin-1), UTF-16LE и UTF-16BE оставлены для старых систем, а символ, который кодировка не может представить, отмечается ошибкой с позицией. Декодирование строгое: после каждого % должны идти две hex-цифры, поэтому одинокий 100% вызовет ошибку, а не пройдёт молча. Строка статуса показывает длину результата в символах и байтах.
Практические примеры
Значение параметра: a b&c=d/e? в режиме Component превращается в a%20b%26c%3Dd%2Fe%3F.
Целый URL: https://example.com/my path?q=a b&x=1 в режиме URI становится https://example.com/my%20path?q=a%20b&x=1, а в режиме Component — https%3A%2F%2Fexample.com%2Fmy%20path%3Fq%3Da%20b%26x%3D1.
Данные формы: John Doe & Co. в режиме Form становится John+Doe+%26+Co.; декодирование a+b%20c даёт a b c в режиме Form, но a+b c в режиме Component.
Кодировка: café — это caf%C3%A9 в UTF-8 и caf%E9 в ISO-8859-1.
Как использовать этот инструмент
Вставьте текст или закодированную строку
Введите в поле Ввод обычный текст для кодирования или percent-encoded строку для декодирования.
Выберите режим и кодировку
В поле Режим выберите Component (аналог encodeURIComponent) для отдельного значения, URI (аналог encodeURI) для целого адреса или Form (application/x-www-form-urlencoded) для тела формы. Кодировка текста оставьте UTF-8, если сервер не ожидает другую.
Закодируйте или декодируйте
Нажмите Кодировать, чтобы закодировать ввод, или Декодировать, чтобы восстановить текст. Неверные последовательности
%и символы вне кодировки отмечаются ошибкой.Скопируйте результат
Копировать помещает результат в буфер обмена. Поменять местами возвращает его во ввод — например, чтобы снять ещё один слой кодирования.
Советы и лучшие практики
- Кодируйте каждое значение параметра отдельно в режиме Component и только потом соединяйте их через
&и=. Если закодировать в Component весь URL,://тоже экранируется и ссылка сломается. - Режим URI не экранирует
&,=и#: если они есть в значении параметра, кодируйте это значение в режиме Component. +означает пробел только в данных формы; вне режима Form он декодируется как обычный плюс.- Дважды закодированный текст вроде
%2520сначала превращается в%20: нажмите Поменять местами и снова Декодировать, чтобы снять следующий слой. - Используйте кодировку, которую ожидает сервер:
%E9декодируется вéс ISO-8859-1, а в UTF-8 одиночный%E9— это недопустимый текст.