Utilia

HTML-entiteter: kod og afkod

Kod specialtegn som HTML-entiteter (navngivne, decimale eller hex) eller afkod enhver entitet med den fulde liste på 2.231 navngivne HTML5-referencer.

Indstillinger for kodning

Sådan koder eller afkoder du HTML-entiteter

  1. Indsæt din tekst eller HTML i inputfeltet.
  2. For at kode den vælger du, hvilke tegn der skal kodes: Kun & < > ” ‘ eller Også alle tegn uden for ASCII, og vælger et Format for entiteter: Navngivet (é), Decimal (é) eller Hexadecimal (é).
  3. Klik på Kod, eller klik på Afkod for at omdanne entiteter tilbage til tegn.
  4. Læs antallet på statuslinjen, og klik derefter på Kopiér. Brug resultatet som input flytter resultatet til inputfeltet, for eksempel for at tjekke, at det kan føres tilbage til det oprindelige.

Kodning: hvornår og hvad der skal kodes

I HTML kan fem tegn forveksles med markup. Kun & < > ” ‘ erstatter præcis dem: & med &amp;, < med &lt;, > med &gt;, " med &quot; og ' med &#39;. Det er det, du skal bruge for at vise kode på en webside, for at lægge brugertekst inde i en attribut eller for at indsætte et uddrag i et blogindlæg eller et CMS-felt, der forventer HTML. Apostroffen bruger den numeriske form, fordi &apos; ikke fandtes i HTML 4, og nogle ældre parsere ikke kender den.

Også alle tegn uden for ASCII erstatter desuden alt uden for læsbar ASCII: bogstaver med accent, typografiske anførselstegn, eurotegnet, hårde mellemrum, emojis og så videre. Resultatet er ren ASCII, hvilket er nyttigt til systemer, der ødelægger UTF-8, til e-mailskabeloner, eller for at gøre usynlige tegn som &nbsp; synlige i kilden. Danske bogstaver som æ, ø og å bliver for eksempel til &aelig;, &oslash; og &aring;.

Format for entiteter afgør, hvordan tegn skrives:

  • Navngivet (é) bruger et læsbart navn, når HTML definerer et (&eacute;, &euro;, &hellip;), og foretrækker det klassiske HTML 4-navn, når et tegn har flere. Tegn uden navn, som emojis, falder tilbage til decimal.
  • Decimal (é) skriver Unicode-kodepunktet i titalssystemet.
  • Hexadecimal (é) skriver det i sekstentalssystemet, som svarer til skrivemåden U+00E9 i Unicode-tabellerne.

Alle tre forstås af enhver browser. Tegn uden for Basic Multilingual Plane, som 😀, kodes som én reference til hele kodepunktet (&#128512;), ikke som to surrogathalvdele.

Afkodning: HTML5-reglerne

Afkod følger de regler, browsere bruger, når de læser tekstindhold, med den komplette liste på 2.231 navngivne tegnreferencer fra HTML Living Standard:

  • navngivne referencer som &eacute;, &rarr; eller &NotEqualTilde; (nogle giver to kodepunkter);
  • decimale (&#233;) og hexadecimale (&#xE9; eller &#XE9;) referencer, med eller uden det afsluttende semikolon;
  • ældre navne, som browsere accepterer uden semikolon, som &copy 2026 eller &amp – og som i browsere bliver &notit; til ¬it;, fordi &not er sådan et ældre navn;
  • numeriske referencer i området 128–159 gengives som de Windows-1252-tegn, browsere viser (&#150; giver en tankestreg), og &#0;, surrogater og værdier over U+10FFFF bliver til erstatningstegnet �.

Ukendte navne som &foo; lades uændrede og tælles på statuslinjen. Afkodningen foretages af værktøjets egen parser og ikke ved at sætte din tekst ind på siden, så markup eller script i inputtet aldrig bliver fortolket.

Ofte stillede spørgsmål

Skal jeg kode bogstaver med accent?

Som regel ikke. En side, der leveres som UTF-8, kan indeholde é eller € direkte, og det gælder også æ, ø og å. Kodning uden for ASCII er kun nødvendig, når filen eller systemet undervejs ikke kan håndtere UTF-8.

Hvorfor bliver &amp;amp; afkodet til &amp; og ikke til &?

Afkodningen sker én gang, sådan som en browser gør det. &amp;amp; er en kodet &amp;. Klik på Brug resultatet som input og Afkod igen, hvis teksten er kodet to gange.

Hvad er forskellen på dette og URL-kodning?

HTML-entiteter koder tekst til HTML-dokumenter. URL-kodning (%20, %C3%A9) koder tekst til webadresser. Brug URL-kodning til links og forespørgselsstrenge.

Bliver min tekst sendt til en server?

Nej. Kodning og afkodning kører i din browser. Kun listen over entitetsnavne indlæses fra dette websted, første gang du afkoder.

Afkoder det entiteter i attributter anderledes?

Browsere håndterer nogle ældre navne uden semikolon anderledes inde i attributværdier. Dette værktøj bruger reglerne for tekstindhold, som svarer til det, du ser på siden.