Веб и кодирование
Пробелы в URL: в чем разница между %20 и знаком плюс (+)?
%20 — это стандартное процентное кодирование пробела по RFC 3986. Знак плюс (+) декодируется как пробел только в query-параметрах форм application/x-www-form-urlencoded.
Опубликовано
Сравнение %20, + и %2B
| Символ | Декодированное значение | Контекст |
|---|---|---|
| %20 | пробел | Путь ссылки (path) и параметры (query) |
| + | пробел | Query-параметры формы |
| %2B | + (буквальный плюс) | Передача символа плюса в query |
Проверьте пример
Декодируйте %20 в пути и параметрах
Процентно-кодированные пробелы присутствуют в обеих частях URL.
https://example.com/a%20b?q=hello%20worldОжидаемый результат: Декодированное представление содержит пробелы, а исходные значения компонентов остаются доступными для проверки.
Проверьте пример
Сравните + и %2B в параметре запроса
При разборе формы + означает пробел, а %2B — буквальный плюс.
https://example.com/search?q=hello+world&tag=a%2BbОжидаемый результат: В значениях запроса видны hello world и a+b согласно правилам форм.
Проверьте пример
Проверьте два слоя кодирования
Закодированный знак процента указывает на второй слой %20.
hello%2520worldОжидаемый результат: После первого слоя получается hello%20world, после второго явного декодирования — hello world.
Проверьте ссылку
Декодирование URL параметров
Разберите ссылку на компоненты и проверьте значения параметров в URL Decoder.