Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 10554|Ответ: 0

[JavaScript] JS кодирует и декодирует URL (три способа их различия)

[Скопировать ссылку]
Опубликовано 23.01.2019 15:06:04 | | |
Только 0-9[a-z] $ - _ . + ! * ' ( ), и некоторые зарезервированные слова могут использоваться напрямую в URL без кодирования.

Например, если вы ищете китайское ключевое слово, скопируйте URL и вставьте его, чтобы обнаружить, что URL был перекодирован.

1. Побег и неспасение

Принцип: Делите ASCII-буквы, цифры, знаки препинания @ * _ + - .  /

Код: escape('http://www.baidu.com?name=zhang@xiao@jie&order=1')

Результат: "http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1"

escape («Чжан»)

Результат: "%u5F20"

decoded: unescape("http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1")

Результат: "http://www.baidu.com?name=zhang@xiao@jie&order=1"

unescape("%u5F20")

Результат: «Чжан»

2. encodeURI и decodeURI

Принцип: Возвращает строку, закодированную как действительный Uniform Resource Identifier (URI), символ, который не кодируется:! @ # $ & * ( ) = : / ; ? + '

   encodeURI() — это функция в Javascript, которая фактически используется для кодирования URL.

Кодирование: encodeURI('http://www.baidu.com?name=zhang@xiao@jie&order=1')

Результат: "http://www.baidu.com?name=zhang@xiao@jie&order=1"

декодирование: decodeURI("http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1")

Результат: "http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1"

3. encodeURIComponent и decodeURIComponent

Принцип: Кодировать компоненты URL по отдельности, а не весь URL

Кодирование: encodeURIComponent('http://www.baidu.com?name=zhang@xiao@jie&order=1')
Результат: "http%3A%2F%2Fwww.baidu.com%3Fname%3Dzhang%40xiao%40jie%26order%3D1"

декодирование: decodeURIComponent("http%3A%2F%2Fwww.baidu.com%3Fname%3Dzhang%40xiao%40jie%26order%3D1")

"http://www.baidu.com?name=zhang@xiao@jie&order=1"




Предыдущий:Запуск dotnet xx.dll команды dotnet не найдено
Следующий:Microsoft.NETCore.App версия проблемы
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com