escape characters html url encoding character-encoding

characters - Diferencia entre Url Encode y codificación HTML



url encoding (5)

HTML Encoding escapa caracteres especiales en cadenas usadas en documentos HTML para evitar confusiones con elementos HTML como el cambio

"<hello>world</hello>"

a

"&lt;hello&gt;world&lt;/hello&gt;"

La codificación de URL hace algo similar para los valores de cadena en una URL como cambiar

"hello+world = hello world"

a

"hello%2Bworld+%3D+hello+world"

¿Cuál es la diferencia entre un Encode de URL y un Encode HTML ?


HTMLEncode y URLEncode tratan con los caracteres no válidos en HTML y URL, o más exactamente, los caracteres que necesitan ser escritos especialmente para ser interpretados correctamente. Por ejemplo, en HTML, los caracteres <y> se utilizan para indicar etiquetas. Por lo tanto, si quisiera escribir una fórmula matemática, algo como 1 + 1 <2 + 2, el ''<'' normalmente se interpretaría como el comienzo de una etiqueta. HTMLEncoding convierte este personaje en "& lt;" que es la representación codificada del signo menor que. URLEncoding hace lo mismo, pero para las URL, para las cuales los caracteres especiales son diferentes, aunque hay cierta superposición.


No sé en qué idioma está trabajando, pero el manual PHP, por ejemplo, proporciona buenas explicaciones.

URLEncode

Devuelve una cadena en la que todos los caracteres no alfanuméricos excepto -_. se han reemplazado con un signo de porcentaje (%) seguido de dos dígitos hexadecimales y espacios codificados como signos más (+). Está codificado de la misma manera que los datos publicados desde un formulario WWW están codificados, de la misma manera que en el tipo de medio application / x-www-form-urlencoded. Esto difiere de la codificación »RFC 1738 (ver rawurlencode ()) en que, por razones históricas, los espacios se codifican como signos más (+).

Sigue leyendo


Tanto HTML como URL son esencialmente idiomas muy restringidos. Como lenguaje, agregan significado a palabras clave u operadores específicos. Sin embargo, para ambos idiomas, las palabras clave son casi siempre caracteres únicos. Por ejemplo

  • HTML:> y <
  • URL: / y:

En el uso de cada idioma, aunque es posible utilizar estos constructos de una manera que no garantiza el significado del lenguaje. Por ejemplo, esta publicación contiene un> personaje. No quiero que se interprete como HTML, solo texto.

Aquí es donde entran en juego los métodos Encode y Decode. Estos métodos tomarán respectivamente una cadena y convertirán cualquiera de los caracteres que de otro modo se tratarían como palabras clave en un formulario escapado que no se interpretará como parte del lenguaje.

Por ejemplo: Al pasar> a HtmlEncode, se devolverá & gt;


urlEncode reemplaza los caracteres especiales con caracteres que pueden ser entendidos por los navegadores web / servidores web con el fin de abordar ... por lo tanto, URL. Por ejemplo, los espacios se reemplazan por% 20, ''=% 27, etc.

Vea estas referencias:

HtmlEncode reemplaza los caracteres especiales con cadenas de caracteres que el propio motor HTML reconoce para representar el contenido de la página, cosas como & becomes &amp; or < = &lt; > = &lt; &amp; or < = &lt; > = &lt; esto evita que el motor HTML interprete estos caracteres como partes del marcado HTML y, por lo tanto, los represente como si fueran cadenas.

Ver esta referencia: