Веб и кодирование

Пробелы в 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.

Открыть URL Decoder →