> percent | url | rfc3986 <
// Percent-encoding – преобразование символов в формат %XX для URL и URI
Соответствие стандартам
Следует спецификации RFC 3986 для percent-encoding в URI.
Полная поддержка Unicode
Корректно обрабатывает символы Unicode в кодировке UTF‑8 и эмодзи.
Гибкие варианты кодирования
Выбирайте между стандартным режимом и кодированием абсолютно всех символов.
>> техническая информация
Как работает 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) пробелы по историческим причинам могут кодироваться как +. Оба варианта корректны, но применяются в разных контекстах.