кодировать | декодировать | сжимать

> percent | url | rfc3986 <

// Percent-encoding – преобразование символов в формат %XX для URL и URI

[RFC3986]

Соответствие стандартам

Следует спецификации RFC 3986 для percent-encoding в URI.

[UNICODE]

Полная поддержка Unicode

Корректно обрабатывает символы Unicode в кодировке UTF‑8 и эмодзи.

[FLEXIBLE]

Гибкие варианты кодирования

Выбирайте между стандартным режимом и кодированием абсолютно всех символов.

>> техническая информация

Как работает percent-encoding:

Percent-encoding заменяет небезопасные ASCII-символы знаком процента (%) и двумя шестнадцатеричными цифрами, представляющими байтовое значение символа. Символы UTF‑8 кодируются как несколько последовательностей ‎%XX‎.

Пример:

"Hello World!" → Hello%20World%21

Когда использовать percent-encoding:

  • >Кодирование URL и URI
  • >Передача данных форм
  • >Параметры строки запроса
  • >Компоненты пути в URL
  • >HTTP-заголовки и cookie

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

Что такое percent-encoding?

Percent-encoding (также URL-encoding) — это механизм кодирования информации в URI путём замены небезопасных ASCII-символов на "%" и две шестнадцатеричные цифры.

Когда мне следует использовать percent-encoding?

Используйте percent-encoding, когда добавляете специальные символы в URL, параметры запроса, данные форм или другие контексты, где символы имеют особое значение и должны быть экранированы.

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

encodeURI кодирует полный URI, сохраняя такие символы, как :/?#[]@. encodeURIComponent кодирует всё, кроме незарезервированных символов (A‑Z, a‑z, 0‑9, -, _, ., ~).

Почему пробел превращается в %20 или +?

В URL пробелы кодируются как %20. В данных форм (application/x-www-form-urlencoded) пробелы по историческим причинам могут кодироваться как +. Оба варианта корректны, но применяются в разных контекстах.

Другие языки