Utilia

HTML-entiteter: koding og dekoding

Gjør spesialtegn om til HTML-entiteter (navngitte, desimale eller heksadesimale) eller dekod alle entiteter, med alle 2 231 navngitte HTML5-referanser.

Valg for koding

Slik koder eller dekoder du HTML-entiteter

  1. Lim inn teksten eller HTML-en i inndatafeltet.
  2. For å escape den velger du hvilke tegn som skal kodes: Bare & < > " ' eller Også alle tegn utenfor ASCII, og velger et Entitetsformat: Navngitt (&eacute;), Desimal (&#233;) eller Heksadesimal (&#xE9;).
  3. Klikk Kod, eller klikk Dekod for å gjøre entiteter om til tegn igjen.
  4. Les antallet i statuslinjen, og klikk deretter Kopier. Bruk resultatet som inndata flytter resultatet til inndatafeltet, for eksempel for å sjekke en rundtur.

Koding: når og hva du skal escape

I HTML kan fem tegn forveksles med kode. Bare & < > " ' erstatter nøyaktig disse: & med &amp;, < med &lt;, > med &gt;, " med &quot; og ' med &#39;. Det er dette du trenger for å vise kode på en nettside, for å legge brukertekst inn i et attributt, eller for å lime et utdrag inn i et blogginnlegg eller et CMS-felt som forventer HTML. Apostrofen bruker den numeriske formen fordi &apos; ikke fantes i HTML 4, og noen eldre parsere kjenner den ikke.

Også alle tegn utenfor ASCII erstatter i tillegg alt utenfor skrivbar ASCII: bokstaver med aksent, typografiske anførselstegn, eurotegnet, harde mellomrom, emojier og så videre. Resultatet er ren ASCII, som er nyttig for systemer som ødelegger UTF-8, for e-postmaler, eller for å gjøre usynlige tegn som &nbsp; synlige i kildekoden. Norske bokstaver som æ, ø og å blir dermed &aelig;, &oslash; og &aring;.

Entitetsformat bestemmer hvordan tegnene skrives:

  • Navngitt (&eacute;) bruker et lesbart navn når HTML har definert ett (&eacute;, &euro;, &hellip;), og foretrekker det klassiske HTML 4-navnet når et tegn har flere. Tegn uten navn, som emojier, faller tilbake på desimal.
  • Desimal (&#233;) skriver Unicode-kodepunktet i titallssystemet.
  • Heksadesimal (&#xE9;) skriver det i sekstentallssystemet, som tilsvarer U+00E9-notasjonen i Unicode-tabeller.

Alle tre forstås av alle nettlesere. Tegn utenfor Basic Multilingual Plane, som 😀, kodes som én referanse til hele kodepunktet (&#128512;), ikke som to surrogathalvdeler.

Dekoding: HTML5-reglene

Dekod følger reglene nettlesere bruker når de leser tekstinnhold, med den fullstendige listen over 2 231 navngitte tegnreferanser fra HTML Living Standard:

  • navngitte referanser som &eacute;, &rarr; eller &NotEqualTilde; (noen gir to kodepunkter)
  • desimale (&#233;) og heksadesimale (&#xE9; eller &#XE9;) referanser, med eller uten avsluttende semikolon
  • eldre navn som nettlesere godtar uten semikolon, som &copy 2026 eller &amp. Som i nettlesere blir &notit; til ¬it;, fordi &not er et slikt eldre navn
  • numeriske referanser i området 128–159 tilordnes Windows-1252-tegnene nettlesere viser (&#150; gir en tankestrek), og &#0;, surrogater og verdier over U+10FFFF blir erstatningstegnet �

Ukjente navn som &foo; blir stående uendret og telles i statuslinjen. Dekodingen gjøres av verktøyets egen parser, ikke ved at teksten settes inn i siden, så kode eller skript i inndataene blir aldri tolket.

Ofte stilte spørsmål

Må jeg kode tegn med aksent?

Vanligvis ikke. En side som leveres som UTF-8, kan inneholde é, æ, ø, å eller € direkte. Koding utenfor ASCII er bare nødvendig når filen eller systemet underveis ikke kan håndtere UTF-8.

Hvorfor dekodes &amp;amp; til &amp; og ikke til &?

Dekodingen gjøres én gang, slik en nettleser gjør det. &amp;amp; er en escapet &amp;. Klikk Bruk resultatet som inndata og Dekod igjen hvis teksten var kodet to ganger.

Hva er forskjellen på dette og URL-koding?

HTML-entiteter escaper tekst for HTML-dokumenter. URL-koding (%20, %C3%A9) escaper tekst for nettadresser. Bruk URL-koderen for lenker og spørringsstrenger.

Sendes teksten min til en server?

Nei. Koding og dekoding kjører i nettleseren din. Bare listen over entitetsnavn lastes fra dette nettstedet første gang du dekoder.

Dekodes entiteter i attributter annerledes?

Nettlesere håndterer noen eldre navn uten semikolon annerledes inne i attributtverdier. Dette verktøyet bruker reglene for tekstinnhold, som tilsvarer det du ser på siden.