Согласно этому ответу здесь : str='foo%20%5B12%5D'
кодирует foo [12]
:
%20 is space
%5B is '['
and %5D is ']'
Это называется процентным кодированием и используется при кодировании специальных символов в значениях параметров url.
РЕДАКТИРОВАТЬ Кстати, когда я читал https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURI#Description , мне просто пришло в голову, почему так много людей делают один и тот же поиск. Смотрите примечание внизу страницы:
Также обратите внимание, что если кто-то хочет следовать более позднему RFC3986
для URL, зарезервировав квадратные скобки (для IPv6) и, следовательно, не закодированный при формировании чего-то, что может быть частью URL (например, хоста), может помочь следующее.
function fixedEncodeURI (str) {
return encodeURI(str).replace(/%5B/g, '[').replace(/%5D/g, ']');
}
Надеюсь, это поможет людям разобраться в своих проблемах, когда они наткнуться на этот вопрос.