Как пользоваться
- Вставьте текст или ссылку в поле Текст или URL.
- Выберите Закодировать или Декодировать в поле Действие.
- Для одного значения, например поискового слова, оставьте Область на Одно значение. Для целой ссылки выберите Целый URL.
- Прочитайте Результат и таблицу Параметры запроса, если текст — это ссылка с запросом.
Что делает процентное кодирование
Веб-адрес может содержать лишь небольшой набор символов. Каждый другой символ записывается знаком % и двумя шестнадцатеричными цифрами для каждого байта его формы UTF-8. Поэтому буква ё становится %D1%91, а пробел — %20. Правила описаны в разделе 2.1 RFC 3986.
ё → байты UTF-8 D1 91 → %D1%91
- Кодирование с режимом «Одно значение» оставляет как есть только буквы от A до Z и от a до z, цифры от 0 до 9 и знаки - _ . ! ~ * ' ( ).
- Декодирование превращает каждый верный %XX обратно в байт, а байты — в буквы, которые они образуют.
Одно значение или целый URL
Одно значение экранирует и разделители (: / ? # & = и +), поэтому значение параметра не может нарушить структуру адреса. Целый URL оставляет эти разделители на месте, и ссылка сохраняет свою форму. При декодировании целого URL экранирование, которое обозначает разделитель, например %2F, остаётся экранированным, поэтому ссылка означает то же самое.
Кодирование формы и знак +
HTML-формы записывают пробел как +, а знак плюс как %2B. В строке запроса, записанной формой, знак + поэтому означает пробел. Опция Кодирование формы читает и записывает это правило. Когда она выключена, знак + остаётся плюсом, как того требует RFC 3986.
Что отклоняет декодирование
- Знак % без двух шестнадцатеричных цифр после него, например конец строки %E0%A4%A.
- Экранирования, которые не образуют корректный UTF-8, например одиночный байт %FF.
- Испорченный символ, например половина эмодзи, который нельзя закодировать.
Пример: ссылка на поиск
Кодирование значения «Чай & кофе?» с режимом Одно значение даёт %D0%A7%D0%B0%D0%B9%20%26%20%D0%BA%D0%BE%D1%84%D0%B5%3F. Пробел, амперсанд, заглавная Ч (два байта в UTF-8) и вопросительный знак экранированы.
Декодирование https://example.com/ara?q=%D1%87%D0%B0%D0%B9+%D0%BA%D0%BE%D1%84%D0%B5&page=2 с режимом Целый URL и отмеченным Кодированием формы даёт https://example.com/ara?q=чай кофе&page=2. В запросе два параметра: q — это «чай кофе», а page — 2.
| Ввод | Результат |
|---|---|
| Чай & кофе? (одно значение, кодирование) | %D0%A7%D0%B0%D0%B9%20%26%20%D0%BA%D0%BE%D1%84%D0%B5%3F |
| https://example.com/ara?q=%D1%87%D0%B0%D0%B9+%D0%BA%D0%BE%D1%84%D0%B5&page=2 (декодирование) | https://example.com/ara?q=чай кофе&page=2 |
Частые вопросы
В чём разница между encodeURI и encodeURIComponent?
encodeURIComponent экранирует каждый разделитель, поэтому подходит для одного значения строки запроса. encodeURI оставляет символы, которые задают структуру URL, например : / ? # & и =, поэтому подходит для целой ссылки. «Одно значение» — это первый вариант, «Целый URL» — второй.
Почему пробел становится %20 в одном месте и + в другом?
%20 — стандартное экранирование пробела, оно допустимо в любом месте URL. Знак + означает пробел только при кодировании формы, то есть в строках запроса из HTML-форм. Отмечайте «Кодирование формы», если ссылка пришла из формы.
Почему %E0%A4%A отклоняется?
Экранирование %E0 начинает трёхбайтовую букву, но текст заканчивается после %A, и экранирование не полное. Каждый знак % требует двух шестнадцатеричных цифр, а каждый байт должен входить в полный символ UTF-8.
Отправляется ли моя ссылка на сервер?
Нет. Кодирование и декодирование выполняет ваш браузер, поэтому ссылки с токенами или личными данными остаются на вашем устройстве.
Почему знак плюс остаётся в декодированных параметрах?
При выключенном «Кодировании формы» знак + остаётся плюсом, как его определяет RFC 3986. Многие веб-формы записывают пробелы как +, поэтому отметьте опцию, чтобы читать такие ссылки так, как их задумала форма.
Источники
- RFC 3986: единый идентификатор ресурса (URI), общий синтаксис, раздел 2.1 (IETF, на английском)
- ECMA-262: encodeURI, encodeURIComponent и decodeURI в спецификации ECMAScript (на английском)
- Стандарт WHATWG URL: разбор application/x-www-form-urlencoded (на английском)
Цифры и текст в последний раз проверены вторник, 10 ноября 2026 г..