URL-кодировщик и декодировщик: percent-encoding для параметров, form-данных и логов

Обновлено: 02.04.2026 12 просмотров Рейтинг: 5,0 / 5 (1 оценка) Автор: Дмитрий Ржанский Дмитрий Ржанский — основатель и технический SEO-специалист компании «Семантический Ёж». Дмитрий - технический блок. Архитектура сайта, сбор семантики, создание посадочных страниц. Он - начальник для всего внутряка.

Онлайн

URL-кодировщик и декодировщик

Режимы «компонент» (как encodeURIComponent) и application/x-www-form-urlencoded (пробел как «+»). Обработка выполняется в браузере — на сервер текст не отправляется.

Режим кодирования

Percent-encoding — стандарт RFC 3986, по которому каждый байт UTF-8 записывается как «%» и две шестнадцатеричные цифры. Кириллическая буква «п» даёт два байта: %D0%BF. Без кодирования спецсимволы и не-ASCII символы ломают структуру URL или теряются при передаче.


URL-кодировщик и декодировщик: что это и как работает

URL-кодировщик и декодировщик преобразует текст в percent-encoding по RFC 3986 и обратно — обработка выполняется в браузере, данные на сервер не отправляются.

Механизм кодирования: каждый байт исходной строки в UTF-8 представляется как %HH, где HH — шестнадцатеричное значение байта. Символы, которые не требуют кодирования в режиме «Компонент» (латиница, цифры, - _ . ! ~ * ' ( )), передаются как есть. Все остальные, включая кириллицу, пробелы, ? & # /, заменяются на %-последовательности.

Декодирование — обратная операция: инструмент разбирает последовательности %HH в байты UTF-8 и собирает из них строку. При строгом режиме любой некорректный % без двух hex-цифр вызывает ошибку. В мягком режиме такой % остаётся символом «%», обработка продолжается.

Инструмент организован в три вкладки. Вкладка «Строка» — работа с одной логической единицей текста: кнопки кодирования, декодирования, копирования, статистика и таблица UTF-8 для первых 12 символов. Вкладка «Пакет» — построчная обработка до 500 строк за запуск при суммарном объёме до 400 000 символов. Вкладка «Справка» — таблица символов RFC 3986 и пояснение разницы между режимами без выполнения операций.


Режимы кодирования: «Компонент» и «Form»

Режим «Компонент» кодирует пробел как %20; режим «Form» кодирует пробел как + — разница определяет совместимость результата с целевой системой.

РежимПробелСимвол «+» при декодированииПрименение
Компонент%20остаётся «+»значение параметра, фрагмент пути, строка для API
Form+→ пробел (если переключатель включён)query-строка из HTML-формы, application/x-www-form-urlencoded

Режим «Компонент» по поведению близок к encodeURIComponent в JavaScript: не кодирует набор «безопасных» символов (- _ . ! ~ * ' ( )), кодирует всё остальное нелатинское. Это правильный выбор для кодирования отдельного значения перед подстановкой в URL.

Режим «Form» нужен, когда строка получена из HTML-формы с типом application/x-www-form-urlencoded — браузер при отправке формы записывает пробелы как +. При декодировании таких строк переключатель «+» → пробел должен быть включён.

Настройки режима задаются независимо для вкладок «Строка» и «Пакет». На «Строке» можно отлаживать одну фразу в режиме «Компонент», на «Пакете» — прогнать список в режиме «Form».


Параметры и настройки

URL-кодировщик принимает пять управляющих параметров — режим кодирования и два переключателя декодирования задаются независимо для вкладок «Строка» и «Пакет».

ПараметрЧто принимаетТипПо умолчаниюОграничения
Исходный текст («Строка»)Произвольный текст или %XX-строкаСтрока UTF-8Любая длина; полный URL кодируется целиком
Текст пакета («Пакет»)Список строк (перевод строки как разделитель)Многострочный текст≤ 500 строк; ≤ 400 000 символов суммарно
Режим кодирования«Компонент» или «Form»EnumКомпонентНезависим для «Строки» и «Пакета»
«+» → пробел при декодированииВключено / выключеноBooleanВключеноНезависим для «Строки» и «Пакета»
Строгий режим декодированияВключено / выключеноBooleanВключеноНезависим для «Строки» и «Пакета»

Переключатель «строгий режим» меняет поведение при некорректных данных. Включён — любой % без двух hex-цифр останавливает декодирование с ошибкой в строке статуса. Выключен (best effort) — некорректные % остаются символами «%», валидные %HH продолжают обрабатываться. Второй вариант полезен при разборе частично испорченных логов.


Как пользоваться URL-кодировщиком

URL-кодировщик запускается в три шага: выбор вкладки и режима, ввод текста, нажатие кнопки действия.

Вкладка «Строка»:

  1. Выбрать режим — «Компонент» для значений параметров и API-строк; «Form» для данных из HTML-форм.
  2. Вставить текст в поле «Исходный текст» — одну фразу, одно значение параметра или уже закодированную строку.
  3. Нажать «Закодировать» или «Декодировать» — результат появится в поле «Результат»; на кнопке кратко «Готово».
  4. Нажать «Копировать результат» — строка уйдёт в буфер обмена; на кнопке «Скопировано».
  5. При подозрении на двойное кодирование — проверить строку статуса под полем «Результат»: там появится предупреждение, если в результате остались %XX.

Вкладка «Пакет»:

  1. Задать режим и переключатели — независимо от вкладки «Строка».
  2. Вставить список строк в верхнее поле — каждая строка на отдельной строке.
  3. Нажать «Закодировать все» или «Декодировать все» — нижнее поле получит столько же строк результата.
  4. Строки с ошибкой декодирования помечены префиксом #номер: — позиционное соответствие с вводом сохраняется.
  5. Нажать «Копировать результат» — всё нижнее поле уйдёт в буфер.

Сценарии применения

URL-кодировщик закрывает пять практических сценариев — от кодирования кириллицы в параметрах до отладки частично закодированных логов.

Кодирование кириллицы для параметра запроса

SEO-специалист или разработчик кодирует поисковую фразу перед подстановкой в параметр q= вручную или в скрипте. Режим — «Компонент». Вставить фразу, нажать «Закодировать», скопировать результат. Слово «пример» даст %D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80 — шесть символов кириллицы дают двенадцать %XX-последовательностей, по два байта UTF-8 на символ.

Декодирование form-данных с «+» вместо пробелов

Backend-разработчик или тестировщик разбирает query-строку из HTML-формы, где браузер записал пробелы как +. Режим — «Form», переключатель «+» → пробел включён. Вставить строку вида first+name=Иван+Петров, нажать «Декодировать» — пробелы вернутся корректно. Без включённого переключателя + останется плюсом в результате.

Пакетное кодирование UTM-значений и анкоров

Интернет-маркетолог кодирует столбец UTM-меток или подписей кампаний за один запуск. Вкладка «Пакет», режим «Компонент». Вставить список — каждая метка на отдельной строке. Нажать «Закодировать все» — нижнее поле получит столько же строк в том же порядке. Ограничение: не более 500 строк и 400 000 символов суммарно за один запуск.

Отладка частично закодированных логов

Devops или веб-мастер декодирует строку из лога, где % встречается и как управляющий символ, и как данные. Выключить строгий режим (best effort). Вставить строку, нажать «Декодировать» — валидные %HH раскроются в символы, некорректные % останутся как символы %. Строгий режим в этом случае остановит обработку с ошибкой при первом же «мусорном» проценте.

Изучение побайтового представления символов

Разработчик или обучающийся вставляет символ — кириллическую букву, emoji, спецсимвол — и смотрит таблицу UTF-8 под полем ввода. Таблица показывает первые 12 символов строки: Символ / Байты (hex) / Percent. Это объясняет, почему одна буква кириллицы даёт два %XX, а emoji — три или четыре.


Ограничения и граничные условия

URL-кодировщик работает с текстом как последовательностью байт — он не разбирает URL как структурный объект и не обходит граничные условия автоматически.

Полный URL на входе. Если вставить https://example.com/path?q=текст и нажать «Закодировать», инструмент закодирует всё: https:// превратится в https%3A%2F%2F, слэши станут %2F. Результат непригоден как готовая ссылка. Для работы с полными URL — трансформер URL.

Двойное кодирование. Два нажатия «Закодировать» подряд дадут %25XX вместо %XX — символ % сам кодируется как %25. Инструмент выводит предупреждение в строку статуса, если после декодирования в результате остались %XX.

Некорректный % в строгом режиме. Строка вида param=%ZZ остановит декодирование с ошибкой: %ZZ не является валидной hex-последовательностью. Детали ошибки — в строке статуса под полем результата. Для таких строк — выключить строгий режим.

Лимиты пакета. При превышении 500 строк — на кнопке «Не более 500 строк», поле результата очищается. При превышении 400 000 символов суммарно — «Слишком большой ввод». Обходное решение: разбить список на части.

Таблица UTF-8. Отображает только первые 12 символов ввода. Для длинных строк таблица не покрывает весь ввод — это информационный блок, не диагностический инструмент.


Связанные инструменты

URL-кодировщик дополняется трансформером URL и генератором UTM-меток — каждый инструмент закрывает свой уровень работы со ссылками.

ИнструментФункцияКогда использовать вместе
Трансформер URLРазбирает полный URL на компоненты: схема, хост, путь, параметрыКогда нужно закодировать только значение параметра внутри готовой ссылки, не трогая структуру
Генератор UTM-метокФормирует ссылки с UTM-параметрамиКогда UTM-значения содержат кириллицу или спецсимволы — перед финальной сборкой ссылки
FAQ

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

Краткие ответы по использованию инструмента.

Оставить заявку

URL-кодировщик декодирует дважды закодированную строку за два последовательных нажатия «Декодировать» — первое снимет внешний слой, второе вернёт исходный текст. После первого декодирования инструмент выводит предупреждение в строку статуса, если в результате остались последовательности `%XX`. Кнопка «Поменять с результатом» переносит промежуточный результат в поле ввода для второго шага.

URL-кодировщик трактует `+` как пробел только при включённом переключателе «При декодировании «+» → пробел». По умолчанию переключатель включён, но он независим для вкладок «Строка» и «Пакет» — если его выключили на одной вкладке, на другой он может оставаться включённым. Переключатель должен быть включён только для строк в формате `application/x-www-form-urlencoded`; для строк из JSON или API, где `+` — обычный плюс, его нужно выключить.

URL-кодировщик закодирует весь входной текст как последовательность байт — `https://` превратится в `https%3A%2F%2F`, слэши станут `%2F`, результат не будет работать как ссылка. Для работы с полными URL используется трансформер URL: он разбирает адрес на компоненты и кодирует только значения параметров. URL-кодировщик предназначен для отдельных фрагментов — значений параметров, сегментов пути, произвольных строк перед подстановкой.

Строгий режим нужно выключать при разборе частично испорченных данных — логов сервера, ручных правок строк, где `%` встречается и как данные, а не как начало `%HH`. В строгом режиме любой `%` без двух следующих hex-цифр останавливает операцию с ошибкой. В мягком режиме (best effort) некорректные `%` остаются символом «%», обработка продолжается. Для чистых URL-строк из надёжных источников строгий режим лучше оставить включённым.

URL-кодировщик обрабатывает не более 500 строк и не более 400 000 символов суммарно за один запуск «Закодировать все» / «Декодировать все». При превышении любого из лимитов нижнее поле очищается, а на кнопке кратко появляется причина отказа. Обходное решение — разбить список на части и прогнать их последовательно.

Заявка

Нужно SEO-продвижение?

Оставьте заявку — свяжемся с вами в ближайшее время, уточним сайт и задачи по продвижению.

Оставить заявку

Нажимая кнопку, вы соглашаетесь с политикой обработки персональных данных.