Что такое URL Encoder / Decoder?
URL Encoder/Decoder — этоispensary инструмент веб-разработки, который преобразует между обычным текстом и URL-безопасным форматом процентного кодирования. Когда URL содержат пробелы, специальные символы или не-ASCII символы, такие как буквы с ударениями и эмодзи, они ломаются, если не закодированы правильно. Этот инструмент обеспечивает мгновенное кодирование и декодирование с полной поддержкой режима URL (кодирование полных URL) и режима компонентов (кодирование отдельных значений параметров запроса), а также пакетный режим для одновременной обработки нескольких строк.
Когда использовать этот калькулятор
- Вы создаёте URL с параметрами запроса, содержащими пробелы, символы или не-ASCII знаки
- Вам нужно декодировать процентно закодированный URL, чтобы прочитать его реальное содержимое
- Вы отлаживаете API, который отклоняет ваш URL из-за незакодированных специальных символов
- Вы обрабатываете отправленные пользователями URL, которые нужно очистить перед использованием
- Вам нужно закодировать или декодировать сразу несколько сегментов URL
- Вы создаёте редиректы или callback-URL, в которых параметры должны быть правильно закодированы
Шаги:
- Введите или вставьте текст/URL, который нужно закодировать или декодировать.
- Выберите режим «Кодировать» или «Декодировать».
- Нажмите кнопку «Преобразовать».
- Скопируйте результат для использования в своём приложении.
Формула
Кодирование: небезопасные символы → % + 2-значный шестнадцатеричный код ➡ Декодирование: %XX → исходный символ
Варианты использования
- Создание безопасных строк запроса для URL
- Обработка параметров запросов API
- Отладка закодированных URL
- Создание URL-дружественных слагов и путей
Основные преимущества
- Мгновенное кодирование и декодирование с результатами в реальном времени
- Поддерживает режим URL и режим компонентов для разных контекстов
- Пакетный режим для кодирования или декодирования нескольких строк одновременно
- Обрабатывает все специальные символы включая Unicode и эмодзи
- 100% на основе браузера — данные не отправляются на сервер
- Визуальный подсчёт символов для проверки того, что кодирование не дублировало и не обрезало ввод
Советы профессионалов
- Всегда кодируйте генерируемые пользователем параметры URL перед включением их в URL
- Используйте encodeURIComponent() в JavaScript для отдельных значений параметров запроса
- Декодируйте URL перед отображением пользователям для лучшей читаемости
- Остерегайтесь двойного кодирования: если вы видите %25 за которыми следуют шестнадцатеричные цифры, URL вероятно был закодирован дважды
- Используйте режим компонента при построении строк запроса и режим URL при кодировании целых путей URL или полных URL
Распространенные ошибки
- Двойное кодирование URL путем кодирования уже закодированного URL, %20 превращается в %2520
- Использование неправильного контекста кодирования — режим URL и компонентов производят разный вывод
- Забывание что + представляет пробел только в данных application/x-www-form-urlencoded
- Неправильная обработка не-ASCII символов — всегда убеждайтесь в кодировке UTF-8 перед процентным кодированием
Объяснение ключевых терминов
- Процентное кодирование: Стандартный механизм кодирования символов в URL, заменяет небезопасные символы на % за которым следует двухзначный шестнадцатеричный ASCII-код
- Строка запроса: Часть URL после символа ?, содержит пары ключ-значение разделенные &
- Зарезервированные символы: Символы такие как :, /, ?, #, [, ], @, !, $, &, (, ), *, +, ,, ;, = со специальным синтаксическим значением в URL согласно RFC 3986
- Режим компонентов vs режим URL: Режим компонентов кодирует больше символов и для отдельных значений; режим URL сохраняет структуру URL для полных путей
Связанные понятия
- Процентное кодирование: механизм замены небезопасных символов знаком % с последующим двузначным шестнадцатеричным ASCII-кодом для безопасной передачи URL
- Строка запроса: часть URL после символа ?, содержащая пары ключ-значение, разделённые символами &
- Зарезервированные символы: символы вроде :, /, ?, #, [, ], @, !, $, &, (, ), *, +, ,, ;, =, имеющие особое значение в синтаксисе URL согласно RFC 3986
- Безопасные для URL символы: незарезервированные символы (буквы, цифры, -, _, ., ~), не требующие кодирования в URL
- encodeURIComponent против encodeURI: функции JavaScript, где encodeURIComponent для отдельных значений кодирует всё, кроме букв, цифр и _*-.~, а encodeURI сохраняет символы структуры URL для полных URL
Пример
Кодирование "Hello World & Friends!" → "Hello%20World%20%26%20Friends%21". Декодирование "search%3Fq%3Dhello+world" → "search?q=hello world".
Интерпретация результатов
Кодировщик преобразует небезопасные символы URL (пробелы, &, ?, #, не-ASCII и т. д.) в формат процентного кодирования, где каждый символ становится % с последующим двузначным шестнадцатеричным кодом. Декодировщик обращает этот процесс, восстанавливая исходный читаемый текст. Количество символов помогает убедиться, что кодирование не продублировало и не обрезало ваш ввод непредвиденно.
Режим компонента кодирует более широкий набор символов и предназначен для кодирования отдельных значений параметров запроса. Режим URL строже в том, что кодируется, и предназначен для кодирования полных путей URL или целых URL. Используйте режим компонента при построении строк запроса и режим URL при кодировании полного URL.
Пакетный режим позволяет кодировать или декодировать сразу несколько строк, что удобно, когда у вас есть список URL или параметров для обработки. Каждая строка рассматривается как отдельный ввод, и все результаты отображаются вместе для удобного копирования.

