Koda och avkoda HTML-entiteter
Koda de tecken som HTML tolkar som kod, och vid behov även alla tecken utanför ASCII, eller omvandla entiteter som é och — tillbaka till vanlig text. Båda riktningarna körs i din webbläsare, och avkodad text visas aldrig som aktiv HTML.
0 tecken · 0 ord · 0 rader
0 tecken · 0 ord · 0 rader
Körs helt i den här webbläsarfliken. Din text laddas aldrig upp eller sparas.
Vanliga tecken och deras entiteter
Namngivna, decimala och hexadecimala former avkodas alla till samma tecken. Kodaren känner till 216 vanliga namngivna entiteter; avkodaren förstår varje namngiven referens i HTML-standarden.
| Tecken | Namngiven | Decimal | Hex |
|---|---|---|---|
& | & | & | & |
< | < | < | < |
> | > | > | > |
" | " | " | " |
' | ' | ' | ' |
(hårt mellanslag) | |   |   |
© | © | © | © |
® | ® | ® | ® |
™ | ™ | ™ | ™ |
€ | € | € | € |
£ | £ | £ | £ |
¥ | ¥ | ¥ | ¥ |
— | — | — | — |
– | – | – | – |
… | … | … | … |
« | « | « | « |
» | » | » | » |
° | ° | ° | ° |
× | × | × | × |
÷ | ÷ | ÷ | ÷ |
é | é | é | é |
π | π | π | π |
→ | → | → | → |
😀 | — | 😀 | 😀 |
Från 252 entiteter i HTML 4 till 2 231 i HTML5
En teckenreferens är ett sätt att skriva ett tecken med enbart ASCII. Numeriska referenser fungerar för alla Unicode-kodpunkter, i decimal (é) eller hexadecimal form (é). Namngivna referenser är lättare att komma ihåg: HTML 4 definierade 252 stycken, som omfattar Latin-1-bokstäver som é, grekiska bokstäver, matematiska symboler och typografiska tecken som — och …. Märkligt nog fanns inte ' bland dem; den kommer från XML och blev giltig i HTML först med HTML5.
HTML5 utökade listan till 2 231 namngivna teckenreferenser och tog upp MathML-teckenuppsättningen, så namn som ✓, ★ och ≂̸ fungerar nu i alla aktuella webbläsare. Antalet inkluderar äldre stavningar utan avslutande semikolon, som & och ©, som tolkare fortfarande accepterar av kompatibilitetsskäl men som du inte bör skriva. Kodaren här ger de brett stödda HTML 4-namnen plus ' och använder en numerisk referens för allt annat. Avkodaren skickar texten till webbläsarens egen tolkare, så den förstår alla 2 231 namn.
Vad du ska koda och när kodning inte räcker
Only & < > " ' är inställningen för vardagsbruk: den kodar de fem tecken som kan avsluta en textnod eller ett citerat attribut, vilket räcker för att visa ett kodexempel på en sida eller placera användartext säkert i HTML. Also every non-ASCII character gör om é, € och emojis till referenser också, för de sällsynta kanaler som inte kan hantera UTF-8, som vissa äldre e-postmallar eller system som förstör teckenkodningar. Named, Decimal och Hex ändrar bara hur en referens skrivs; alla tre avkodas till samma tecken. En sida som sparats som UTF-8 behöver inga entiteter för bokstäver med accent.
Kodning skyddar bara HTML-kontexten och inget annat. Text som sätts in i ett skriptblock, en inline-händelsehanterare som onclick, ett style-attribut eller en href som kan börja med javascript: kräver annan hantering, och teckenkodning ensam förhindrar inte cross-site scripting där. Ramverk som React kodar text som standard, så dubbelkodning är det vanligare felet i moderna appar: användarna ser & där ett et-tecken ska vara. Vill du ta bort taggar helt kan du konvertera markeringen med HTML till TXT. För kodning i webbadresser, använd URL-kodning och avkodning.
Vanliga frågor
- Vilka tecken måste kodas i HTML?
- I text är & och < de viktiga, och > kodas av konvention. I ett attributvärde ska du också koda det citattecken som avgränsar värdet. Kodar du alla fem täcks båda fallen.
- Vad är skillnaden mellan och ett vanligt mellanslag?
är det hårda mellanslaget, U+00A0. Det ser ut som ett mellanslag men förhindrar radbrytning på just den platsen och slås inte ihop när flera står efter varandra, till skillnad från vanliga mellanslag i HTML.- Varför visar min sida & i stället för ett et-tecken?
- Texten har kodats två gånger: en gång i dina data och en gång till av din mall eller ditt ramverk. Lagra råtext och låt ett enda lager, oftast mallen, sköta kodningen vid utskrift.
- Är det säkert att avkoda HTML från en okänd källa här?
- Ja. Avkodaren tolkar indata som ren textinnehåll, så inga taggar skapas, inga skript körs och inga bilder läses in. Bara teckenreferenser omvandlas till tecken.
- Är namngivna eller numeriska entiteter bättre?
- Namngivna är lättare att läsa, numeriska fungerar för alla tecken och i alla XML-tolkare. I XML utan DTD är bara
&,<,>,"och'fördefinierade.