Qual è la differenza tra una codifica URL e una codifica HTML ?
?
diventa %3F
codifica HTML codificherà i caratteri in modo che siano validi per HTML. Ad esempio, <
diventa<
Qual è la differenza tra una codifica URL e una codifica HTML ?
?
diventa %3F
codifica HTML codificherà i caratteri in modo che siano validi per HTML. Ad esempio, <
diventa<
Risposte:
La codifica HTML evita i caratteri speciali nelle stringhe utilizzate nei documenti HTML per evitare confusione con elementi HTML come la modifica
"<hello>world</hello>"
per
"<hello>world</hello>"
La codifica URL fa una cosa simile per i valori di stringa in un URL come la modifica
"hello+world = hello world"
per
"hello%2Bworld+%3D+hello+world"
urlEncode sostituisce i caratteri speciali con caratteri che possono essere compresi dai browser Web / server Web allo scopo di indirizzare ... quindi URL. Ad esempio, gli spazi vengono sostituiti con% 20, '=% 27 ecc ...
Vedi questi riferimenti:
HtmlEncode sostituisce i caratteri speciali con stringhe di caratteri che sono riconosciute dal motore HTML stesso per rendere il contenuto della pagina - cose come & diventa & or < = < > = <
questo impedisce al motore HTML di interpretare questi caratteri come parti del markup HTML e quindi di renderli come se lo fossero stringhe.
Vedi questo riferimento:
Sia HTML che URL sono essenzialmente linguaggi molto limitati . Come lingua aggiungono significato a parole chiave o operatori specifici. Per entrambe queste lingue, tuttavia, le parole chiave sono quasi sempre caratteri singoli. Per esempio
Nell'uso di ciascuna lingua, tuttavia, è possibile utilizzare questi costrutti in un modo che non garantisce il significato della lingua. Ad esempio, questo post contiene un carattere>. Non voglio che venga interpretato come HTML, solo testo.
È qui che entrano in gioco i metodi Encode e Decode. Questi metodi prenderanno rispettivamente una stringa e convertiranno uno qualsiasi dei caratteri che altrimenti verrebbero trattati come parole chiave in una forma con escape che non verrà interpretata come parte del linguaggio.
Ad esempio: il passaggio di> a HtmlEncode restituirà & gt;
HTMLEncode e URLEncode si occupano di caratteri non validi in HTML e URL o, più precisamente, caratteri che devono essere scritti appositamente per essere interpretati correttamente. Ad esempio, in HTML i caratteri <e> vengono utilizzati per indicare i tag. Quindi, se volessi scrivere una formula matematica, qualcosa come 1 + 1 <2 + 2, il "<" verrebbe normalmente interpretato come l'inizio di un tag. HTMLEncoding trasforma questo carattere in "& lt;" che è la rappresentazione codificata del segno minore di. URLEncoding fa lo stesso, ma per gli URL, per i quali i caratteri speciali sono diversi, sebbene ci siano alcune sovrapposizioni.
Non so in quale lingua stai lavorando, ma il manuale PHP, ad esempio, fornisce buone spiegazioni.
URLEncode
Restituisce una stringa in cui tutti i caratteri non alfanumerici tranne -_. sono stati sostituiti con un segno di percentuale (%) seguito da due cifre esadecimali e spazi codificati come segni più (+). È codificato nello stesso modo in cui vengono codificati i dati inviati da un modulo WWW, ovvero nello stesso modo del tipo di supporto application / x-www-form-urlencoded. Questo differisce dalla »codifica RFC 1738 (vedere rawurlencode ()) in quanto per ragioni storiche, gli spazi sono codificati come segni più (+).