В чем разница между URL Encode и HTML Encode?Разница между Url Encode и HTML-кодом
ответ
HTML Кодирование экранирует специальные символы в строках, используемых в HTML-документах для предотвращения путаницы с HTML-элементов, как меняется
"<hello>world</hello>"
в
"<hello>world</hello>"
Кодировка URL делает подобный вещь для строковых значений в URL-адресе, таком как изменение
"hello+world = hello world"
в
"hello%2Bworld+%3D+hello+world"
Я нахожу на практике, что HtmlEncode гораздо более всеобъемлющий для обоих сценариев использования. Как указывает @Mehrdad, URLEncode помещает символы плюс, но это может вызвать проблемы, если вы используете, например, urlrewrites. Таким образом, использование HtmlEncode даже для url намного менее проблематично. Я никогда не обнаружил проблему с использованием HtmlEncode для URL-адресов, но я использую UrlEncode для URL-адресов. На мой взгляд, UrlEncode в основном бесполезен. –
HTML-кодирование и кодирование URL-адресов делают принципиально разные вещи. Если вы кодируете HTML, например, «hello world» и пытаетесь добавить его к URL-адресу, вы получите неверный URL-адрес. Оба они важны и должны использоваться для разных ситуаций. – Neil
Просто нужно было пройти и заменить несколько применений HtmlEncode для кодирования URL-адресов с помощью UrlEncoding, проблем с кодированием пробелов и некоторых других специальных символов – PJUK
HTMLEncode и URLEncode обрабатывают недопустимые символы в HTML и URL-адресах или, точнее, символы, которые должны быть специально написаны для правильной интерпретации. Например, в HTML символы < и> используются для обозначения тегов. Таким образом, если вы хотите написать математическую формулу, что-то вроде 1 + 1 < 2 + 2, «<» обычно интерпретируется как начало тега. HTMLEncoding превращает этот символ в «& lt;» который является закодированным представлением знака «меньше». URLEncoding делает то же самое, но для URL-адресов, для которых специальные символы отличаются друг от друга, хотя есть некоторые перекрытия.
urlEncode заменяет специальные символы символами, которые могут быть поняты веб-браузерами/веб-серверами с целью адресации ... следовательно, URL. Например, пробелы заменяются на% 20, '=% 27 и т.д. ...
Смотрите эти ссылки:
- http://www.blooberry.com/indexdot/html/topics/urlencoding.htm
- http://www.degraeve.com/reference/urlencoding.php
HtmlEncode заменяет специальные символы с символьными строками которые распознаются самим движком HTML для отображения содержимого страницы - такие вещи, как &, становятся & or < = < > = <
, это не позволяет движку HTML интерпретировать эти символы как части разметки HTML и, следовательно, визуализировать их так, как если бы они были строками.
Смотрите эту ссылку:
На самом деле URLEncode заменяет пробелы с +, что может быть проблемой в некоторых ситуациях. – NetMage
Оба HTML и URL, по существу, очень ограничены языки. В качестве языка они добавляют значение определенным ключевым словам или операторам. Однако для обоих этих языков ключевые слова почти всегда являются одиночными. Например
- HTML: > и <
- URL:/и:
При использовании каждого языка хотя можно использовать эти конструкции таким образом, что не обеспечивает значение языка. Например, этот пост содержит символ >. Я не хочу, чтобы это интерпретировалось как HTML, просто текст.
Здесь используются методы кодирования и декодирования. Эти методы соответственно берут строку и преобразуют любой из символов, которые иначе считались бы ключевыми словами в экранированную форму, которая не будет интерпретироваться как часть языка.
Например, если: > в HtmlEncode вернётся & gt;
Я не знаю, на каком языке вы работаете, но, например, PHP manual дает хорошие объяснения.
URLEncode
Возвращает строку, в которой все не буквенно-цифровые символы, кроме -_. были заменены на знак процента (%) , за которым следуют две шестнадцатеричные цифры и пробелы, закодированные как знаки плюс (+). Он кодируется так же, как и данные , полученные из формы WWW: , то есть так же, как в application/x-www-form-urlencoded тип носителя. Это отличается от « RFC 1738» (см. Rawurlencode()) , поскольку по историческим причинам пробелы кодируются как знаки плюс (+).
- 1. Разница между URL и URI?
- 2. разница между URI и URL
- 3. Разница между URL и URLConnection?
- 4. В чем разница между #encode и #force_encoding в ruby?
- 5. В чем разница между Chtml :: encode и CHtmlPurifier?
- 6. Разница между {{url ('/ task')}} и {{url()/task}}?
- 7. Python просит модуль url encode
- 8. Encode знак # в URL
- 9. URL Encode - oauth_signature
- 10. Diffbot URL encode
- 11. Encode URL с HTTP: //
- 12. Url encode and routing?
- 13. C# mvc2 encode url
- 14. SSRS URL Encode
- 15. Разница между кодировкой JS и кодировкой URL
- 16. Разница между `: path` и`: url` в Paperclip
- 17. Разница между rel = "canonical" и og: url?
- 18. В чем разница между URI и URL?
- 19. разница между сервлетов URL-шаблон/и/*
- 20. Encode URL в page.js
- 21. Javascript base64 encode URL
- 22. разница между двумя строками URL
- 23. Encode URL и шоу в IFRAME
- 24. URI encode и HTML encode
- 25. Разница между/и/**
- 26. Точная разница между URL-адресом wordpress и адресом сайта url
- 27. Разница между URL :: до и URL :: маршрут в Laravel
- 28. В чем разница между URL-типом и URL-схемой?
- 29. Разница между window.location.assign (url) и window.open (url, '_self)
- 30. разница между переписыванием URL-адресов и маршрутизацией URL-адресов mvc
URL-кодировка кодирует символы так, чтобы они были действительны для URL-адресов. Например. '?' становится '% 3F' HTML encode будет кодировать символы, чтобы они были действительны для HTML. Например. '<' становится '<' –
Если вы хотите кодировать для использования в URL-адресе, вы используете кодировку URL. Если вы хотите кодировать для отображения на HTML-странице, вы кодируете HTML-код –