URL Encoder

Kisimbaji / Kisimbuaji cha URL

Simba maandishi yoyote kuwa mfuatano salama wa URL ulio na percent-encoding, au simbua URL iliyosimbwa kurudi kwa maandishi ya kawaida. Hakiki ya wakati halisi, salama kwa UTF-8, na inafanya kazi yote ndani ya kivinjari chako.

Component (encodeURIComponent) hubadilisha kila kitu kisicho herufi ya unreserved — salama zaidi kwa thamani za query-string, sehemu za njia, au sehemu yoyote moja. URI (encodeURI) huhifadhi herufi za muundo wa URL (:/?#=&) — itumie kwenye URL kamili. Fomu (application/x-www-form-urlencoded) ni Component pamoja na nafasi kuwa '+' — ndio fomu za HTML hutumia.

RFC 3986 inafafanua seti ya herufi za "unreserved" ambazo hazihitaji usimbaji: A-Z a-z 0-9 - _. ~. Kingine chochote kinapatiwa percent-encoding. encodeURIComponent zaidi husimba :/?#&= ambazo encodeURI huziacha. Tofauti hii ina umuhimu unaposimba thamani ya query dhidi ya URL kamili.

Maandishi ya kawaida

0 herufi

Matokeo yaliyosimbwa

0 herufi

Kwa Nini iKit URL Encoder

Haraka, sahihi, kivinjari pekee — imetengenezwa kwa wasanidi programu, waandishi, na yeyote anayetatua URL.

Hali tatu za usimbaji

Chagua hali ya Component, URI Kamili, au Fomu kulingana na unachosimba — thamani za query-string, URL kamili, au mzigo wa fomu ya HTML.

Faragha kwa muundo

Kila usimbaji na usimbuaji hutokea ndani ya kivinjari chako kwa kutumia JavaScript asilia. Maandishi na URL zako hazitoki kifaa chako kamwe.

Hakiki ya wakati halisi

Matokeo yanasasishwa kwa kila ubonyezaji wa kibodi — hakuna kitufe cha "Simba" cha kubofya, hakuna safari ya kwenda na kurudi kwa seva.

Salama kwa UTF-8

Emoji, herufi za CJK, herufi za Kilatini zenye lafudhi, na za Kisirili zinasafiri kikamilifu kupitia encodeURIComponent na kurudi.

Ushughulikiaji wa + wa mtindo wa fomu

Wakati wa kusimbua, chagua kutibu '+' kama nafasi — ndio kanuni ambayo fomu za HTML hutumia chini ya application/x-www-form-urlencoded.

Uchakataji wa faili kwa wingi

Dondosha faili la.txt,.csv, au.json ili kusimba au kusimbua kwa hatua moja. Matokeo yanapakuliwa kama.txt safi.

Jinsi URL encoding inavyofanya kazi hasa

API tatu asilia za kivinjari, hali tatu, zote zikifanya kazi ndani ya ukurasa unaousoma.

  1. 1

    Unaandika kwenye kihariri

    Kwa kila ubonyezaji wa kibodi, mfuatano wa ingizo unapelekwa kwa kazi ndogo ya JavaScript. Hakuna debounce, hakuna wito wa API, hakuna fetch — kazi inafanya kazi kwa usawazishaji ndani ya kichupo chako cha kivinjari.

  2. 2

    Chagua hali

    Component inaita encodeURIComponent — inabadilisha kila kitu kisicho A-Z a-z 0-9 - _. ~. URI inaita encodeURI — inahifadhi :/?#=& ili URL kamili ibaki halali. Fomu hutumia encodeURIComponent na kubadilisha nafasi na + kulingana na application/x-www-form-urlencoded.

  3. 3

    UTF-8 hutokea

    encodeURIComponent na encodeURI ndani huzigeuza mifuatano kuwa baiti za UTF-8 kabla ya kufanya percent-encoding kwa kila baiti isiyo salama. Hiyo ina maana %E4%B8%AD kwa Kichina 中 — sawa kabisa na ambayo RFC 3986 inahitaji.

  4. 4

    Matokeo yanaonekana wakati halisi

    Matokeo yanawekwa kama thamani ya kusoma tu ya matokeo. Bofya Nakili kuyaweka kwenye ubao wako wa kunakili kupitia navigator.clipboard.writeText, au Pakua kuyahifadhi kama .txt kupitia URL ya Blob — vyote vinabaki ndani ya kivinjari chako.

Matumizi ya kawaida

Hali halisi ambapo hali sahihi ya usimbaji huzuia hitilafu.

Kujenga thamani za query-string

Ingizo lolote la mtumiaji unaloweka katika ?q=... lazima lisimbwe kwa hali ya Component. Hali ya URI ingeacha = na & wazi, ikivunja URL yako wakati thamani ina herufi hizo.

Kushiriki URL ndefu kwenye gumzo

Baadhi ya programu za gumzo na PDF huharibu viungo vinapokuwa na nafasi mbichi au herufi zisizo za ASCII. Pitisha URL kupitia hali ya URI ili iwe salama kunakili-bandika kila mahali.

Kutatua backend inayorudisha 400

Wakati API yako inakataa ombi, bandika URL kwenye hali ya Simbua kuona kile seva ilichokiona kweli. Thamani zilizosimbwa mara mbili (ambapo % yenyewe ilisimbwa kama %25) huonekana mara moja.

Mzunguko kamili wa data ya fomu

Wakati wa kutatua mizigo ya POST katika application/x-www-form-urlencoded, simbua na chaguo la "+ kama nafasi" likiwa limewashwa. Hiyo ndio kanuni vivinjari hutumia, na kuisahau ni sababu kuu ya hitilafu za "kwa nini jina la mtumiaji wangu linaonekana na alama za kuongeza".

Kwa nini usimbaji wa ndani ni muhimu

URL unazosimba mara nyingi zina barua pepe halisi za wateja, vitambulisho, au tokeni za kikao — ndio aina ya data ambayo hutaki kuibandika kwenye zana ya seva ya mgeni. iKit URL Encoder inafanya kazi kama JavaScript ambayo tayari imepakiwa katika kivinjari chako, hivyo ingizo halitoki kichupo chako kamwe.

  • Hakuna fetch, XHR, au beacon wakati wa kusimba au kusimbua.
  • Inafanya kazi nje ya mtandao mara tu ukurasa umepakiwa.
  • Hakuna logi, hakuna kikomo cha kasi, hakuna usajili, hakuna mgawo wa kila siku.

Miongozo inayohusiana

Mafunzo ya kina na ulinganishaji wa zana kutoka blogu ya iKit.

Maswali Yanayoulizwa Mara kwa Mara

Kuna tofauti gani kati ya hali za Component, URI, na Fomu?

Component (encodeURIComponent) hubadilisha kila kitu kisicho herufi ya unreserved — salama zaidi kwa thamani za query-string, sehemu za njia, au sehemu yoyote moja. URI (encodeURI) huhifadhi herufi za muundo wa URL (:/?#=&) — itumie kwenye URL kamili. Fomu (application/x-www-form-urlencoded) ni Component pamoja na nafasi kuwa '+' — ndio fomu za HTML hutumia.

Kwa nini baadhi ya herufi hazisimbwi?

RFC 3986 inafafanua seti ya herufi za "unreserved" ambazo hazihitaji usimbaji: A-Z a-z 0-9 - _. ~. Kingine chochote kinapatiwa percent-encoding. encodeURIComponent zaidi husimba :/?#&= ambazo encodeURI huziacha. Tofauti hii ina umuhimu unaposimba thamani ya query dhidi ya URL kamili.

Kwa nini maandishi yangu yaliyosimbuliwa yanaonekana vibaya?

Sababu tatu za kawaida: (1) asilia ilikuwa imesimbwa kwa Fomu hivyo '+' inapaswa kutibiwa kama nafasi — washa chaguo hilo. (2) Imesimbwa mara mbili — ingizo lilisimbwa mara mbili; simbua tena. (3) Mfuatano usio sahihi wa percent — % iliyopotea isiyofuatiwa na nambari mbili za hex. Angalia ujumbe wa hitilafu kwa nafasi kamili ya baiti.

Je, URL iliyosimbwa ni sawa kabisa na encodeURIComponent ya JavaScript?

Ndio kwa hali ya Component — tunaita encodeURIComponent moja kwa moja. Hali ya Fomu inaongeza marekebisho ya kawaida ya form-encoding (! ' * zinakuwa %21 %27 %28 %29 %2A) kulingana na RFC 3986 + WHATWG. Hali ya URI inaita encodeURI, ambayo ndio lugha nyingi humaanisha 'percent-encode a URL'.

Je, URL zangu zinapakiwa popote?

Hapana. Zana yote ni JavaScript ndani ya ukurasa huu — usimbaji na usimbuaji hutokea ndani ya kivinjari chako. Unaweza kuthibitisha kwa kufungua DevTools → Network na kutazama: hakuna maombi yanayotumwa wakati wa shughuli za usimbaji au usimbuaji.