Объяснение URL-кодирования Почему ваши пробелы превращаются в (и как это исправить)

Обновлено

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

Объяснение URL-кодирования: почему ваши пробелы превращаются в %20 (и как это исправить) 1
РЕКЛАМА · УДАЛЯТЬ?

Когда-либо копировали URL с пробелами и видели, как он волшебным образом превращается в беспорядочный набор знаков процента и цифр? Это URL-кодирование в действии — невоспетый герой, который не дает интернету полностью развалиться. 🔗

Если вы когда-либо вставляли ссылку в электронное письмо, и она переставала работать, или задавались вопросом, почему ваш API-запрос возвращает мусор, то виновником, вероятно, является URL-кодирование (или его отсутствие). Давайте разберемся в этом и покажем вам, как мгновенно кодировать и декодировать URL.

Что такое URL-кодирование?

URL могут содержать только ограниченный набор символов. Буквы, цифры и горстка символов проходят. Все остальное — пробелы, амперсанды, вопросительные знаки, эмодзи, не-ASCII символы — нужно преобразовать в формат, который URL могут обрабатывать.

Этот формат — процентное кодирование. Каждый небезопасный символ заменяется знаком процента, за которым следует его шестнадцатеричное значение. Итак:

  • space%20
  • &%26
  • =%3D
  • ?%3F
  • @%40

Без этого кодирования браузеры и серверы понятия не имели бы, где заканчивается один параметр URL и начинается другой. Наступил бы хаос. Кошки и собаки живут вместе. Массовая истерия.

Когда вам действительно нужно URL-кодирование

Вам понадобится кодировать URL всякий раз, когда вы:

  • Формируете API-запросы — Параметры запроса с пользовательским вводом требуют кодирования, иначе ваши запросы будут катастрофически нарушены
  • Передаете данные в URL — Делитесь ссылками со специальными символами? Сначала закодируйте их
  • Обрабатываете данные формы — Отправка форм по умолчанию использует URL-кодирование
  • Работаете с не-ASCII текстом — Японский, арабский, эмодзи? Все требует кодирования

По сути, если вы помещаете что-либо, сгенерированное пользователем, в URL, закодируйте это. Ваше будущее «я», отлаживающее таинственные ошибки 400, скажет вам спасибо.

URL-кодирование против Base64: это не одно и то же

Быстрое уточнение, потому что это сбивает людей с толку: URL-кодирование и Base64-кодирование — это совершенно разные вещи.

URL-кодирование только экранирует «небезопасные» символы и оставляет все остальное читаемым. Hello World превращается в Hello%20World — все еще довольно узнаваемо.

Base64 преобразует все данные в другой алфавит. Hello World превращается в SGVsbG8gV29ybGQ= — совершенно нечитаемый бред (по крайней мере, для людей).

Используйте URL-кодирование для URL. Используйте Base64, когда вам нужно встроить двоичные данные в текст. Просто. 💡

Простой способ: IO Tools URL Encoder/Decoder

Конечно, вы можете написать JavaScript для обработки этого («encodeURIComponent() ваш друг»), но зачем утруждаться, когда можно просто вставить текст и получить мгновенные результаты?

Наш URL Encoder/Decoder делает именно то, что написано на банке:

  • Вставьте свой текст, выберите «Encode», получите безопасный для URL вывод
  • Вставьте закодированный URL, выберите «Decode», увидите исходный текст
  • Обработка в реальном времени — без ожидания, без перезагрузки страницы
  • Использует стандартные методы JavaScript, поэтому результаты надежны

Регистрация не требуется. Никакой навязчивой рекламы. Просто инструмент, который хорошо выполняет одну задачу.

Распространенные ошибки URL-кодирования

Вот несколько моментов, на которые стоит обратить внимание:

  • Двойное кодирование — Если что-то уже закодировано, повторное кодирование превращает %20 в %2520. Всегда сначала декодируйте, если вы не уверены.
  • Знаки плюс — В строках запроса + иногда обозначает пробел. Это устаревшая функция из форм-отправок. Наш инструмент обрабатывает это правильно.
  • Кодирование пути против запроса — Применяются немного разные правила к пути URL и параметрам запроса. Наш инструмент использует encodeURIComponent, что является самым безопасным выбором в большинстве случаев.

Закодируйте что-нибудь

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

Перейдите к URL Encoder/Decoder и попробуйте. Ваши знаки процента ждут. 🔥

Хотите убрать рекламу? Откажитесь от рекламы сегодня

Установите наши расширения

Добавьте инструменты ввода-вывода в свой любимый браузер для мгновенного доступа и более быстрого поиска

в Расширение Chrome в Расширение края в Расширение Firefox в Расширение Opera

Табло результатов прибыло!

Табло результатов — это интересный способ следить за вашими играми, все данные хранятся в вашем браузере. Скоро появятся новые функции!

РЕКЛАМА · УДАЛЯТЬ?
РЕКЛАМА · УДАЛЯТЬ?
РЕКЛАМА · УДАЛЯТЬ?

новости с техническими моментами

Примите участие

Помогите нам продолжать предоставлять ценные бесплатные инструменты

Купи мне кофе
РЕКЛАМА · УДАЛЯТЬ?