Реклама

Кодирование/декодирование URL

Кодирование или декодирование URL-адресов и запрос строки

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

URL-кодирование (также называемое процентным кодированием) преобразует специальные символы в формат, который может безопасно передаваться в URL-адресах. Поскольку URL-адреса могут содержать только ограниченный набор символов ASCII, любой символ вне этого набора должен быть закодирован как «%», за которым следуют две шестнадцатеричные цифры. представляющее значение ASCII символа.

Например, пробел становится %20, а @ символ становится %40. Это гарантирует URL-адреса остаются действительными, и специальные символы не мешают структуре URL-адресов (например, & и = в строках запроса).

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

Кодирование против Компонент кодирования

  • Кодирование (encodeURI): Кодирует полный URL-адрес, сохраняющий допустимые символы URL-адреса, такие как :, /, ?, = и
  • Компонент кодирования (encodeURIComponent): Кодирует все, кроме букв, цифр и - _. ! ~ * ' ( ). Используйте это для запроса значения параметров.
  • Декодирование: Преобразует строки с процентным кодированием. вернуться к читаемому тексту

Общие случаи использования

🔗 Параметры строки запроса

При передаче пользовательского ввода через параметры URL-адреса кодировка предотвращает передачу специальных символов. нарушение структуры URL. Например, «name=John Doe&city=New York» требует кодировки. для помещений.

📧 Ссылки по электронной почте (mailto:)

При создании ссылок mailto со строками темы или основным текстом, специальными символами и пробелы должны быть закодированы для правильной работы во всех почтовых клиентах.

🔐 API Запросы

REST API часто требуют, чтобы значения параметров были закодированы в URL-адресе, особенно при отправке JSON. данные, токены аутентификации или поисковые запросы через запросы GET.

📊 Аналитика и отслеживание

Параметры UTM и коды отслеживания часто содержат закодированные значения, обеспечивающие точность данных. передача без ошибок анализа URL.

Распространенные кодировки символов

Character Encoded Description
(space) %20 or + Space character
& %26 Ampersand
= %3D Equals sign
? %3F Question mark
/ %2F Forward slash
@ %40 At symbol
# %23 Hash/pound
% %25 Percent sign

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

В чем разница между encodeURI и encodeURIComponent?

encodeURI() кодирует полный URL-адрес, сохраняя такие символы, как :, /, ? и &. encodeURIComponent() кодирует все, что делает его пригодным для кодирования отдельных значений параметров запроса.

Должен ли я использовать %20 или + для пространства?

Оба представляют собой пробелы, но %20 — это стандартная кодировка URL-адреса, а + — это кодировка, специфичная для данных формы. (приложение/x-www-form-urlencoded). Для строк запроса работает любой вариант, но %20 лучше. универсально совместим.

Защищены ли мои данные, когда используя этот инструмент?

Да! Все кодирование и декодирование происходит в вашем браузере с использованием JavaScript. Ваши данные никогда покидает ваше устройство и никогда не отправляется на какой-либо сервер.

Почему я получаю сообщение «Ошибка: URI неправильный"?

Эта ошибка возникает при попытке декодировать недопустимую последовательность, закодированную в процентах. Убедитесь, что входные данные содержат допустимую кодировку (%, за которым следуют ровно две шестнадцатеричные цифры).

Лучшие практики

  • Всегда кодируйте вводимые пользователем данные перед размещением их в URL-адресах.
  • Используйте encodeURIComponent для значений параметров запроса, encodeURI для полных URL-адресов.
  • Декодируйте URL-адреса перед их отображением пользователям для удобства чтения.
  • Будьте единообразны при кодировании во всем приложении.
  • Тестируйте URL-адреса со специальными символами в разных браузерах.
Реклама