Процент кодирования JavaScript - PullRequest
21 голосов
/ 06 февраля 2011

Есть ли функция javascript, которая берет строку и преобразует ее в другую строку, которая закодирована в процентах?Таким образом, что-то вроде «Этот парень» превращается в «Этот% 20Guy».

Спасибо

Ответы [ 4 ]

29 голосов
/ 06 февраля 2011

encodeURI, encodeURIComponent или escape будут работать одинаково для вашей строки, но они различаются по деталям.

encodeURI только для экранирования URL
encodeURIComponent также ускользает = и &
escape работает по-другому с Unicode-символами, не входящими в ASCII

encodeURI("Ω") === encodeURIComponent("Ω") === "%CE%A9"
escape("Ω") === "%u03A9"

если вам нужно отправить строку как часть запроса, используйте encodeURIComponent

29 голосов
/ 06 февраля 2011

Попробуйте encodeURIComponent () или escape ()

2 голосов
/ 29 июня 2017

Попробуйте это encodeURIComponent()

var stringToDecode = "J&K";

var encodedString = encodeURIComponent(stringToDecode );

Используйте decodeURIComponent() для повторного декодирования при необходимости

Подробнее здесь

https://en.wikipedia.org/wiki/Percent-encoding#Percent-encoding_reserved_characters

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent

2 голосов
/ 06 февраля 2011

Да, вот

escape('This Guy');
...