HTML Encoder

HTML Encoder / Decoder

Epuka `& < > " '` kuwa HTML entities salama, au simbua maandishi yaliyoepushwa kwa entity kurudi safi. Viwango vinne vya usimbaji — Minimal, Named, Numeric, All non-ASCII. Salama wa UTF-8 + emoji + CJK, ndani ya kivinjari chako.

Chaguo-msingi ni Minimal — epuka tu & < > " ', herufi tano zinazovunja muktadha wa mwili / sifa wa HTML. Hivyo ndivyo kila injini ya kisasa ya templating hufanya. Tumia Entities zenye majina ikiwa unataka copyright / nbsp / mishale n.k. kama nambari zinazosomeka (&copy; badala ya &#169;). Tumia Numeric unapotuma HTML kupitia pipelines ambazo zinaweza zisielewe entities zenye majina. Tumia All non-ASCII unapolenga mifumo kali ya ASCII tu (seva za zamani za barua pepe, API zilizovunjika).

&apos; ni halali katika XML na HTML5, lakini si katika HTML 4.01 — vivinjari vya zamani vinaichora kama maandishi halisi '. Rejeleo la nambari &#39; hufanya kazi kila mahali. Kisimbuaji hukubali &apos; kama ingizo kwa uoanifu.

Ingizo
Matokeo

Imejengwa kwa matokeo salama ya HTML

Epuka maudhui ya watumiaji kwa templates, simbua data iliyosimbwa kwa entity — pamoja na vidokezo vidogo vinavyofanya iwe ya kufurahisha kuitumia.

Hali nne za usimbaji

Minimal huepuka tu herufi tano zisizo salama za HTML (& < > " ') — chaguo sahihi la maudhui ya kawaida ya watumiaji. Named hutumia HTML5 entities zinazosomeka kama &copy; / &nbsp; / &hearts; pale moja inapokuwepo. Numeric husimba kila codepoint isiyo ya ASCII kama &#NN;. All non-ASCII husimba kila codepoint nje ya ASCII inayoweza kuchapishwa kwa pipelines za zamani / za ASCII tu.

Simbua entity yoyote

Kisimbuaji hushughulikia entities zenye majina (&copy;), nambari za desimali (&#169;), na nambari za hex (&#xA9;). Codepoints za jozi za surrogate (emoji, maandishi ya kale) hurudi salama kupitia UTF-16.

Hakiki ya moja kwa moja

Matokeo husasishwa kwa kila kibonyezo — hakuna kitufe cha Encode / Decode cha kubonyeza. Badili mwelekeo kwa mbofyo mmoja; kitufe cha Swap husogeza matokeo kurudi kwenye ingizo ili uweze kufunga mabadiliko kwa mlolongo.

Salama wa UTF-8 + emoji + CJK

Kila codepoint ya Unicode hurudi salama: 中文, العربية, русский, हिंदी, 🎉, Þorgeir. Kisimba hutumia urudufu kwa kila codepoint (si charAt) ili jozi za surrogate zibaki sawa.

Faragha kwa muundo

Maandishi yako yanabaki kwenye kifaa chako. Kisimba, kisimbua, na jedwali la entities zenye majina vyote vinaendeshwa kama JavaScript kienyeji. Fungua DevTools → Network na uthibitishe maombi sufuri ya nje.

Ndogo + ya haraka

JavaScript safi, hakuna runtime ya framework. Upakiaji wa baridi ni chini ya 25 KB gzipped. Hati ya HTML ya 100 KB husimbwa kwa chini ya 5 ms.

Jinsi ya kusimba au kusimbua HTML entities

Hatua nne kutoka maandishi mabichi hadi matokeo salama ya entity.

  1. 1

    Bandika maandishi yako

    Dondosha maandishi safi au HTML kwenye paneli ya Ingizo. Chochote kinaruhusiwa — maoni ya watumiaji, machapisho ya blogu, emoji, CJK, maandishi ya RTL. Kisimba huzunguka kwa codepoint ili mfuatano wa byte nyingi ubaki sawa.

  2. 2

    Chagua mwelekeo + hali

    Weka Mwelekeo kwenye Encode (maandishi → entities) au Decode (entities → maandishi). Kwa Encode, chagua hali: Minimal kwa templates, Named kwa entities zinazosomeka, Numeric kwa zisizo za ASCII kama &#NN;, All non-ASCII kwa matokeo ya ASCII tu.

  3. 3

    Tazama hakiki ya moja kwa moja

    Matokeo husasishwa kwa kila kibonyezo. Linganisha hali kwa wakati halisi kwa kubadilisha menyu kunjuzi. Tumia Swap kusogeza matokeo kurudi kwenye ingizo — muhimu kwa uthibitishaji wa kwenda na kurudi (simba kisha simbua = asili).

  4. 4

    Nakili au pakua

    Tumia ikoni ya nakili kusukuma matokeo kwenye ubao wako wa kunakilia, au ikoni ya kupakua kuihifadhi kama output.encode.html / output.decode.txt. Tofauti ya ukubwa (chars / bytes ndani → nje) inaonyesha hasa kiasi gani usimbaji ulivimbisha au kupunguza maandishi.

Imejengwa kwa kazi za kila siku za web-dev

Matukio manne ya kawaida ambapo zana ya kivinjari inayotanguliza faragha hupita kubandika msimbo kwenye encoder ya nasibu mtandaoni.

Kuingiza maudhui ya watumiaji kwa usalama kwenye template

Maoni ya watumiaji, majibu ya fomu, hoja za utafutaji — chochote kinachotoka nje na kuishia ndani ya <p>, <li>, au sifa. Pitisha kupitia hali ya Minimal-encode kabla ya kuunganisha-mfuatano kwenye HTML yako, na uko salama kutokana na markup iliyovunjika na payloads rahisi za XSS.

Kusoma data iliyoepushwa kwa entity kutoka API

Baadhi ya API hurudisha mifuatano ambayo tayari imeepushwa kwa entity (RSS feeds, baadhi ya CMS exports, HTML iliyokwangulwa). Bandika ndani, bonyeza Decode, pata Unicode ya asili. Kisimbuaji hushughulikia entities zenye majina, desimali, na hex ikijumuisha jozi za surrogate.

Mistari ya mada ya barua pepe + meta tags

<title>, <meta name="description">, <meta property="og:title"> — vyote vinahitaji kuepushwa kwa entity kwa herufi maalum. Simba kichwa chako mara moja, bandika kwenye yote matatu.

Maudhui nyeti ambayo hayawezi kwenda kwa huduma ya tatu

Maudhui ya CMS ya ndani, data za wateja, templates zilizolindwa na NDA — chochote ambacho huwezi kubandika kwenye encoder ya wingu. Zana ya kivinjari pekee huhifadhi kila byte kwenye kompyuta yako. Fungua DevTools → Network na uthibitishe hakuna kinachotoka.

100% ya faragha — inaendeshwa kwenye kivinjari chako

Maandishi yako kamwe hayatoki kwenye kifaa chako. Fungua DevTools → Network na utaona maombi sufuri ya nje wakati wa kusimba au kusimbua.

  • Kisimba, kisimbua, na jedwali la kutafuta entities zenye majina vyote vinaendeshwa kama JavaScript kwenye mashine yako — hakuna ubadilishaji wa upande wa seva, hakuna API ya tatu.
  • Codepoints za jozi za surrogate (emoji, maandishi ya kale) hushughulikiwa kwa urudufu wa codepoint, si ramani ya kiwango cha byte — kwa hivyo kubandika kwa 🎉 hubaki kama 🎉 baada ya kwenda na kurudi.
  • Hakuna kuingia, hakuna telemetry kwenye maudhui ya maandishi. Tunatumia tu kuki moja kwa hali ya idhini ya kuki na moja kwa upendeleo wa lugha.

Miongozo inayohusiana

Usomaji uliochaguliwa kwa mkono kuhusu HTML escaping, jedwali za entity, na templating salama.

Maswali yanayoulizwa mara kwa mara

Nichague hali ipi?

Chaguo-msingi ni Minimal — epuka tu & < > " ', herufi tano zinazovunja muktadha wa mwili / sifa wa HTML. Hivyo ndivyo kila injini ya kisasa ya templating hufanya. Tumia Entities zenye majina ikiwa unataka copyright / nbsp / mishale n.k. kama nambari zinazosomeka (&copy; badala ya &#169;). Tumia Numeric unapotuma HTML kupitia pipelines ambazo zinaweza zisielewe entities zenye majina. Tumia All non-ASCII unapolenga mifumo kali ya ASCII tu (seva za zamani za barua pepe, API zilizovunjika).

Kwa nini hii inaepuka `'` kama `&#39;` badala ya `&apos;`?

&apos; ni halali katika XML na HTML5, lakini si katika HTML 4.01 — vivinjari vya zamani vinaichora kama maandishi halisi '. Rejeleo la nambari &#39; hufanya kazi kila mahali. Kisimbuaji hukubali &apos; kama ingizo kwa uoanifu.

Je, emoji na herufi za CJK zitabaki?

Ndiyo. Kisimba huzunguka codepoints (si vitengo vya msimbo wa UTF-16), kwa hivyo emoji kama 🎉 (U+1F389) huwa &#127881; wakati wa kusimba na hurudi salama kupitia kusimbua. Vivyo hivyo kwa CJK (中文 → &#20013;&#25991; katika hali ya numeric).

Je, ni salama kuingiza ingizo la mtumiaji moja kwa moja kwenye HTML baada ya kusimba?

Kwa mwili wa HTML na sifa — ndiyo, na hali ya Minimal. Kwa miktadha ya URL (href="...") pia unahitaji URL encoding. Kwa JavaScript ya inline au CSS, wala HTML wala URL encoding hazitoshi — tumia injini sahihi ya templating inayoelewa miktadha hiyo. Usiwahi kubandika ingizo la mtumiaji ambalo halijaepushwa katika kizuizi cha <script>.

Je, kuna kitu kinachotumwa kwa seva yako?

Hapana. Kisimba, kisimbua, na jedwali la kutafuta entities zenye majina vyote vinaendeshwa katika JavaScript kwenye kifaa chako. Fungua DevTools → Network na utaona maombi sufuri ya nje wakati wa kusimba au kusimbua. Bandika siri, data za wateja, templates za ndani — hakuna kinachotoka kwenye kompyuta yako.