В чем разница между URL Encode и HTML Encode ?
?
становится %3F
HTML, кодирует символы, поэтому они действительны для HTML. Например, <
становится<
В чем разница между URL Encode и HTML Encode ?
?
становится %3F
HTML, кодирует символы, поэтому они действительны для HTML. Например, <
становится<
Ответы:
Кодирование HTML экранирует специальные символы в строках, используемых в документах HTML, чтобы предотвратить путаницу с элементами HTML, такими как изменение
"<hello>world</hello>"
к
"<hello>world</hello>"
Кодировка URL-адреса делает то же самое для строковых значений в URL-адресе, например изменение
"hello+world = hello world"
к
"hello%2Bworld+%3D+hello+world"
urlEncode заменяет специальные символы символами, которые могут быть поняты веб-браузерами / веб-серверами с целью адресации ... следовательно, URL. Например, пробелы заменяются на% 20, '=% 27 и т. Д.
См. Эти ссылки:
HtmlEncode заменяет специальные символы символьными строками, которые распознаются самим механизмом HTML для отображения содержимого страницы - такие вещи, как &, не & or < = < > = <
позволяют механизму HTML интерпретировать эти символы как части разметки HTML и, следовательно, отображать их так, как если бы они были струны.
См. Эту ссылку:
И HTML, и URL-адреса по сути являются очень ограниченными языками . В качестве языка они добавляют значение определенным ключевым словам или операторам. Однако для обоих этих языков ключевые слова почти всегда состоят из одиночных символов. Например
Однако при использовании каждого языка эти конструкции можно использовать таким образом, который не обеспечивает значения языка. Например, этот пост содержит символ>. Я не хочу, чтобы это интерпретировалось как HTML, просто текст.
Здесь в игру вступают методы кодирования и декодирования. Эти методы соответственно принимают строку и преобразуют любые символы, которые в противном случае обрабатывались бы как ключевые слова, в экранированную форму, которая не будет интерпретироваться как часть языка.
Например: передача> в HtmlEncode вернет & gt;
HTMLEncode и URLEncode имеют дело с недопустимыми символами в HTML и URL-адресах или, точнее, с символами, которые необходимо специально написать для правильной интерпретации. Например, в HTML символы <и> используются для обозначения тегов. Таким образом, если вы хотите написать математическую формулу, например, 1 + 1 <2 + 2, '<' обычно интерпретируется как начало тега. HTMLEncoding превращает этот символ в "& lt;" который представляет собой закодированное представление знака «меньше». URLEncoding делает то же самое, но для URL-адресов, для которых специальные символы разные, хотя есть некоторое перекрытие.
Я не знаю, на каком языке вы работаете, но, например, руководство по PHP дает хорошие объяснения.
URLEncode
Возвращает строку, в которой все не буквенно-цифровые символы, кроме -_. были заменены знаком процента (%), за которым следуют две шестнадцатеричные цифры и пробелы, закодированные как знаки плюс (+). Он кодируется так же, как и отправленные данные из формы WWW, то есть так же, как и в типе мультимедиа application / x-www-form-urlencoded. Это отличается от кодировки »RFC 1738 (см. Rawurlencode ()) тем, что по историческим причинам пробелы кодируются как знаки плюс (+).