Что такое кодировка URL% 2526?

Почему %2526 используется вместо %26 для кодирования &

Я ссылаюсь на URL-адрес на внешний сайт, и когда я кодирую параметр & as %2526 параметры передаются правильно, но когда я просто использую %26 это не так.

Ответ 1

Если вы url-кодируете амперсанд, вы получаете %26. Если вы url-encode %26 вы получаете %2526. Таким образом, он дважды кодируется по URL-адресу.

Ответ 2

%25 - это процентный знак, поэтому %2526 URLDecoded приводит к

%26

который URLDecoded приводит к

&

По какой-то причине, вызов, который вы делаете, по-видимому, требует двоично-процентного кодированного ввода. Не зная больше о том, что вы делаете, невозможно понять, почему, но я думаю, все в порядке.

Ответ 3

По-видимому, он дважды декодируется в процессе, сначала от %2526 до %26 а затем от %26 до &.
Вы не должны слишком долго останавливаться на том, почему; если это работает, просто используйте его так.

Ответ 4

& действительно кодируется как %26.

Вы можете протестировать его, создав HTML файл, открыв его в браузере, вводя символы, которые вам нужно проверить, и посмотрите на полученный URL-адрес в браузере:

<form>
<input type='text' name='qwe'>
<input type='submit'>
</form>

Ответ 5

Если URL-адрес используется в URL-адресе возврата или значении другой строки запроса, символы Reserved и Excluded должны быть закодированы в два раза. & однокодировано как% 26 и дважды закодировано как% 2526.