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