Qual é a diferença entre uma codificação de URL e uma codificação de HTML ?
?
torna-se %3F
HTML codificar irá codificar caracteres para que sejam válidos para HTML. Por exemplo, <
torna<
Qual é a diferença entre uma codificação de URL e uma codificação de HTML ?
?
torna-se %3F
HTML codificar irá codificar caracteres para que sejam válidos para HTML. Por exemplo, <
torna<
Respostas:
A codificação HTML escapa de caracteres especiais em strings usadas em documentos HTML para evitar confusão com elementos HTML, como alterações
"<hello>world</hello>"
para
"<hello>world</hello>"
A codificação de URL faz algo semelhante para valores de string em um URL, como alterar
"hello+world = hello world"
para
"hello%2Bworld+%3D+hello+world"
urlEncode substitui caracteres especiais por caracteres que podem ser entendidos por navegadores / servidores web com a finalidade de endereçar ... portanto, URL. Por exemplo, os espaços são substituídos por% 20, '=% 27 etc ...
Veja essas referências:
HtmlEncode substitui caracteres especiais por cadeias de caracteres que são reconhecidas pelo próprio mecanismo de HTML para renderizar o conteúdo da página - coisas como & tornam & or < = < > = <
- se isso impedem que o mecanismo de HTML interprete esses caracteres como partes da marcação HTML e, portanto, os processe como se fossem cordas.
Veja esta referência:
Tanto o HTML quanto o URL são linguagens essencialmente restritas . Como linguagem, eles adicionam significado a palavras-chave ou operadores específicos. Para ambos os idiomas, porém, as palavras-chave quase sempre têm um único caractere. Por exemplo
No entanto, no uso de cada linguagem é possível usar essas construções de uma maneira que não garante o significado da linguagem. Por exemplo, esta postagem contém um personagem>. Não quero que seja interpretado como HTML, apenas texto.
É aqui que os métodos Encode e Decode entram em ação. Esses métodos tomarão respectivamente uma string e converterão qualquer um dos caracteres que, de outra forma, seriam tratados como palavras-chave em uma forma de escape que não será interpretada como parte do idioma.
Por exemplo: Passar> para HtmlEncode retornará & gt;
HTMLEncode e URLEncode lidam com caracteres inválidos em HTML e URLs, ou mais precisamente, caracteres que precisam ser especialmente escritos para serem interpretados corretamente. Por exemplo, em HTML, os caracteres <e> são usados para indicar tags. Portanto, se você quiser escrever uma fórmula matemática, algo como 1 + 1 <2 + 2, o '<' normalmente seria interpretado como o início de uma tag. HTMLEncoding transforma esse caractere em "& lt;" que é a representação codificada do sinal de menos que. URLEncoding faz o mesmo, mas para URLs, para os quais os caracteres especiais são diferentes, embora haja alguma sobreposição.
Não sei em qual linguagem você está trabalhando, mas o manual do PHP, por exemplo, fornece boas explicações.
URLEncode
Retorna uma string na qual todos os caracteres não alfanuméricos, exceto -_. foram substituídos por um sinal de porcentagem (%) seguido por dois dígitos hexadecimais e espaços codificados como sinais de mais (+). Ele é codificado da mesma forma que os dados postados de um formulário WWW são codificados, ou seja, da mesma forma que no tipo de mídia application / x-www-form-urlencoded. Isso difere da codificação »RFC 1738 (consulte rawurlencode ()) porque, por razões históricas, os espaços são codificados como sinais de mais (+).