Специальный символ может изменить смысл ссылки
В названии кампании есть пробел, в поисковой фразе знак &, а в значении параметра встречается плюс. Если вставить такой текст в URL без нужного преобразования, браузер или сервер может прочитать его иначе. Этот инструмент помогает кодировать текст для выбранного места ссылки и разбирать уже закодированные значения.
Сначала определите задачу: вы работаете с одним значением, целым адресом или данными формы. От этого зависит, какие символы должны остаться разделителями. Универсальная кнопка без выбора режима часто создаёт результат, который технически корректен, но не подходит для вашего случая.
Как пользоваться преобразованием
- Вставьте исходный текст. Для чтения строки с %HH выберите «Декодировать», для подготовки обычного текста выберите «Кодировать».
- Укажите способ преобразования: компонент URL, целый URI или значение формы. Не смешивайте их без понимания места строки в запросе.
- Нажмите «Преобразовать». Скопируйте результат или скачайте текстовый файл.
- Если нужен обратный проход, нажмите «Результат в исходник». Направление автоматически сменится. Проверьте итог в системе, где будете использовать строку.
Когда выбрать компонент URL
Этот режим подходит для одного значения query-параметра или одного сегмента пути. Разделители /, ?, & и = кодируются, чтобы остаться частью значения. Например, текст «сайт + поддержка» превращается в строку, где пробелы и плюс имеют разные коды.
Не кодируйте этим режимом готовый адрес целиком, если хотите сохранить обычную структуру ссылки. Он преобразует и разделители. Для сборки UTM удобнее воспользоваться отдельным генератором: там не нужно вручную соединять имена параметров, знаки равенства и амперсанды.
Целый URI и значение формы
Режим URI сохраняет разделители адреса. При декодировании некоторые зарезервированные символы остаются закодированными, чтобы не изменить структуру. Поэтому %2F в этом режиме может остаться %2F, а в режиме компонента превратиться в /. Это ожидаемая разница, а не ошибка инструмента.
В режиме значения формы пробел кодируется знаком +. Настоящий плюс кодируется отдельно. При обратном преобразовании + читается как пробел. Такой вариант полезен при работе с application/x-www-form-urlencoded, но здесь преобразуется только одно значение: целую строку из нескольких пар name=value нужно разбирать как параметры.
Почему не стоит декодировать строку несколько раз
Последовательность %252F после одного прохода становится %2F, а после второго превратится в /. Количество проходов меняет значение. Если система ожидает один уровень кодирования, повторное декодирование может привести к другой строке, чем была задумана.
Вводите обычный текст, когда хотите его закодировать. Уже преобразованный фрагмент используйте в режиме декодирования. При ошибке %HH или некорректной последовательности UTF-8 инструмент покажет сообщение и не будет выдавать частично восстановленный текст.
Что этот инструмент не проверяет
Строка преобразуется средствами браузера, без открытия адреса. Не проверяются существование страницы, редиректы, HTTP-ответ, сертификат и параметры приложения. Закодированный URL не становится безопасным или доступным только из-за преобразования.
Можно работать с кириллицей, эмодзи и многострочным текстом. Допустимый входной размер составляет 1 МБ UTF-8. Результат остаётся на устройстве, его можно скопировать либо сохранить в .txt. Для проверки публичной страницы используйте SEO-аудит, а для преобразования текстовых данных в другой алфавит есть Base64.
Следующий шаг и полезные материалы
Вопросы об инструменте
Как кодируется пробел?
В режиме компонента и URI используется %20. В режиме значения формы пробел записывается как +.
Почему + стал пробелом?
Выбран режим значения формы. В нём + обозначает пробел. Для буквального плюса используется %2B.
Почему %2F не декодируется в режиме URI?
Режим URI сохраняет некоторые зарезервированные разделители. Чтобы получить буквальный / в значении, выберите режим компонента.
Инструмент проверит доступность ссылки?
Нет. Он преобразует текст, не выполняя сетевой запрос по адресу.