Url кодирование / декодирование

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

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

URL-кодирование, также известное как процентное кодирование, — это метод кодирования специальных символов в Uniform Resource Locator (URL), чтобы их можно было безопасно передавать через интернет.

Зачем нужно URL-кодирование?

В URL разрешено использовать ограниченный набор символов. Некоторые символы зарезервированы для особых целей (например, /, ?, &, =), а другие считаются небезопасными или вообще запрещёнными (например, пробелы, #, {, }).

Чтобы включить такие символы в URL, они должны быть закодированы определённым образом.

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

При URL-кодировании:

  • Каждый специальный символ заменяется на % и его ASCII-значение в шестнадцатеричной системе.
  • Например:
    • Пробел ( ) преобразуется в %20
    • Знак вопроса (?) преобразуется в %3F
    • Амперсанд (&) преобразуется в %26

Пример

Исходная строка:
Hello World! How are you?
URL-закодированная версия:
Hello%20World%21%20How%20are%20you%3F

Распространённые случаи использования

  • Отправка данных в строках запроса (например, в GET-запросах)
  • Включение специальных символов в REST API-адреса
  • Обеспечение безопасной передачи пользовательского ввода в URL

Инструменты для кодирования и декодирования URL

Большинство языков программирования имеют встроенные функции для кодирования и декодирования URL:

  • JavaScript: encodeURIComponent() / decodeURIComponent()
  • Python: urllib.parse.quote() / urllib.parse.unquote()
  • PHP: urlencode() / urldecode()

Сводка

URL-кодирование гарантирует корректную передачу всех символов в URL, преобразуя небезопасные или специальные символы в стандартизированный формат: %XX, где XX — шестнадцатеричное значение.