У меня есть некоторый текст запроса, который кодируется с помощью JavaScript, но я столкнулся с вариантом использования, в котором мне, возможно, придется кодировать один и тот же текст на стороне сервера, и происходящее кодирование не совпадает. Мне нужно, чтобы это было так же. Вот пример.
Я ввожу "I like food"
в поле поиска и нажимаю кнопку search
. JavaScript кодирует это как %22I%20like%20food%22
Допустим, я получаю то же значение, что и строка в объекте запроса на стороне сервера. Это будет выглядеть так: "\"I like food\""
Когда я использую HttpUtility.UrlEncode(value)
, результат будет "%22I+like+food%22"
. Если я использую HttpUtility.UrlPathEncode(value)
, результат будет "\"I%20like%20food\""
Итак, UrlEncode
кодирует мои кавычки, но использует символ +
для пробелов. UrlPathEncode
кодирует мои пробелы, но не кодирует мои экранированные кавычки.
Мне действительно нужно это сделать для обеих целей, иначе код поиска полностью мне не нужен (и я не могу контролировать код поиска).
Советы