Utilia

HTML entiteti: kodiranje i dekodiranje

Zameni specijalne znake HTML entitetima (imenovanim, decimalnim ili heksadecimalnim) ili dekodiraj bilo koji entitet, uz svih 2.231 HTML5 imenovanih referenci.

Opcije kodiranja

Kako da kodiraš ili dekodiraš HTML entitete

  1. Nalepi tekst ili HTML u polje za unos.
  2. Da ga kodiraš (escape), izaberi koje znakove treba kodirati: Samo & < > ” ‘ ili I svaki ne-ASCII znak, i izaberi Format entiteta: Imenovano (&eacute;), Decimalno (&#233;) ili Heksadecimalno (&#xE9;).
  3. Klikni Kodiraj ili klikni Dekodiraj da entitete pretvoriš nazad u znakove.
  4. Pročitaj broj u statusnom redu, pa klikni Kopiraj. Koristi rezultat kao unos premešta rezultat u polje za unos, na primer da proveriš krug kodiranja i dekodiranja.

Kodiranje: kada i šta se kodira

U HTML-u pet znakova može da se zameni za oznake. Samo & < > ” ‘ zamenjuje upravo njih: & sa &amp;, < sa &lt;, > sa &gt;, " sa &quot; i ' sa &#39;. To ti treba da prikažeš kod na veb-stranici, da staviš korisnikov tekst u atribut ili da nalepiš isečak u blog objavu ili polje sistema za upravljanje sadržajem koje očekuje HTML. Apostrof koristi brojčani oblik jer &apos; nije postojao u HTML-u 4 i neki stariji parseri ga ne poznaju.

I svaki ne-ASCII znak dodatno zamenjuje sve van štampljivog ASCII-ja: slova sa dijakriticima, tipografske navodnike, znak evra, nerazdvojive razmake, emodžije i slično. Rezultat je čist ASCII, što je korisno za sisteme koji kvare UTF-8, za šablone e-pošte ili da nevidljive znake poput &nbsp; učiniš vidljivim u izvornom kodu.

Format entiteta određuje kako se znakovi zapisuju:

  • Imenovano (&eacute;) koristi čitljivo ime kad ga HTML definiše (&eacute;, &euro;, &hellip;), a kad znak ima više imena, preferira klasično ime iz HTML-a 4. Znakovi bez imena, poput emodžija, prelaze na decimalni zapis.
  • Decimalno (&#233;) zapisuje Unicode kodnu tačku u osnovi 10.
  • Heksadecimalno (&#xE9;) zapisuje je u osnovi 16, što odgovara oznaci U+00E9 iz Unicode tabela.

Sva tri razume svaki pregledač. Znakovi van osnovne višejezične ravni, poput 😀, kodiraju se kao jedna referenca na punu kodnu tačku (&#128512;), a ne kao dve surogat polovine.

Dekodiranje: HTML5 pravila

Dekodiraj sledi pravila koja pregledači koriste pri čitanju tekstualnog sadržaja, sa kompletnom listom od 2.231 imenovane reference znakova iz HTML Living Standard-a:

  • imenovane reference poput &eacute;, &rarr; ili &NotEqualTilde; (neke daju dve kodne tačke);
  • decimalne (&#233;) i heksadecimalne (&#xE9; ili &#XE9;) reference, sa završnom tačkom i zarezom ili bez nje;
  • stara imena koja pregledači prihvataju bez tačke i zareza, poput &copy 2026 ili &amp – i, kao u pregledačima, &notit; postaje ¬it; jer je &not takvo staro ime;
  • brojčane reference u opsegu 128–159 preslikavaju se u Windows-1252 znakove koje pregledači prikazuju (&#150; daje en crtu), a &#0;, surogati i vrednosti iznad U+10FFFF postaju zamenski znak �.

Nepoznata imena poput &foo; ostaju nepromenjena i broje se u statusnom redu. Dekodiranje radi sopstveni parser alata, a ne umetanje tvog teksta u stranicu, pa se oznake ili skripte u unosu nikada ne tumače.

Česta pitanja

Da li moram da kodiram slova sa dijakriticima?

Obično ne. Stranica poslužena kao UTF-8 može direktno da sadrži é ili €. Kodiranje ne-ASCII znakova potrebno je samo kad fajl ili sistem između ne može da radi sa UTF-8.

Zašto se &amp;amp; dekodira u &amp; a ne u &?

Dekodiranje se radi jednom, kao u pregledaču. &amp;amp; je kodirano &amp;. Klikni Koristi rezultat kao unos i ponovo Dekodiraj ako je tekst bio kodiran dvaput.

Po čemu se ovo razlikuje od URL kodiranja?

HTML entiteti štite tekst za HTML dokumente. URL kodiranje (%20, %C3%A9) štiti tekst za veb-adrese. Za linkove i parametre upita koristi alat za URL kodiranje.

Da li se moj tekst šalje na server?

Ne. Kodiranje i dekodiranje rade u tvom pregledaču. Sa ovog sajta se učitava samo lista naziva entiteta kad prvi put dekodiraš.

Da li se entiteti unutar atributa dekodiraju drugačije?

Pregledači nekoliko starih imena bez tačke i zareza unutar vrednosti atributa obrađuju drugačije. Ovaj alat koristi pravila za tekstualni sadržaj, koja odgovaraju onome što vidiš na stranici.