Kisimbaji cha URL / Avkodare
Sanidi na usimbue URLs na vijenzi vya URI papo hapo kwenye kivinjari chako. Bure, ya faragha, na hakuna upakiaji unaohitajika.
Sanidi na usimbue URLs na vijenzi vya URI papo hapo kwenye kivinjari chako. Bure, ya faragha, na hakuna upakiaji unaohitajika.
Usimbaji wa URL (rasmi usimbaji-asilimia, unaofafanuliwa katika RFC 3986) hutafsiri vibambo ambavyo vina maana maalum katika URLs - nafasi, mikwaruzo, ampersands, alama za hashi - katika hali salama kwa kutumia alama za asilimia zinazofuatwa na tarakimu za heksi. Herufi ya nafasi inakuwa %20 (au + katika miktadha iliyosimbwa kwa fomu), ampersand inakuwa %26, na kadhalika. Bila usimbaji huu, herufi maalum zinaweza kufasiriwa kama sintaksia ya URL badala ya data halisi, kuvunja URL au kusababisha tabia isiyotarajiwa.
Kuna usimbaji mbili unaohusiana lakini tofauti. Usimbaji wa sehemu ya kawaida ya URL hutumia %-escapes kwa kila kitu nje ya seti ya herufi ambazo hazijahifadhiwa: A-Z, a-z, 0-9, hyphen, underscore, period, tilde. Lahaja iliyosimbwa kwa fomu (application/x-www-form-urlencoded) pia hushughulikia nafasi kama ishara za pamoja na hutumia sheria tofauti kwa herufi zingine. Kipengele cha usimbaji cha JavaScript cha URIComponent hutumia usimbaji wa kijenzi madhubuti; encodeURI hutumia fomu inayoruhusu zaidi ambayo huhifadhi herufi za muundo wa URL.
Zana hii inatoa wote encoding na decoding. Hali ya kusimba hufunika kila herufi inayohitaji kutoroka katika umbizo la %HH; hali ya kusimbua inageuza mabadiliko. Zote mbili huendeshwa kabisa katika kivinjari chako kwa kutumia vitendaji vya JavaScript vilivyojengewa ndani, kwa hivyo hakuna data inayotumwa popote.
Wakati wowote data inajumuishwa katika URL - vigezo vya kamba za hoja, sehemu za njia zilizo na ingizo la mtumiaji, malengo ya kuelekeza upya - usimbaji ufaao unahitajika. Kushindwa kusimba hutoa URL ambazo huvunjika wakati herufi maalum zinaonekana, kuvuja mipaka ya vigezo ili kuuliza mifuatano (kugeuza &x=1 kuwa kigezo tofauti), au kuzuiwa na seva za wavuti kama maombi yenye hitilafu.
Kusimbua ni kinyume: kutoa data asili kutoka kwa URL iliyosimbwa. Pau za anwani za kivinjari mara nyingi huonyesha URL katika fomu iliyosimbwa; kusimbua kunaonyesha kile ambacho kilikusudiwa. Kuweka kumbukumbu, kurekebisha hitilafu na uchanganuzi wa usalama zote hunufaika kutokana na URL zilizosimbuliwa ambazo zinaonyesha vigezo na njia asili.
Bandika kamba, chagua mwelekeo.
encodeURIComponent husimba kila herufi nje ya seti ambayo haijahifadhiwa [A-Za-z0-9-_.~]. Nafasi huwa %20, pamoja na ishara kuwa %2B, sawa na ishara kuwa %3D, na kadhalika. Herufi zilizo nje ya ASCII husimbwa kwanza katika UTF-8 na kisha kila baiti %-escaped.
encodeURI inaruhusiwa zaidi na inakusudiwa kwa URL kamili badala ya vijenzi. Haiepuki /, ?, &, =, #, na zingine chache kwa sababu herufi hizo zina maana ya kisintaksia ya URL. Kwa kupachika data ya mtumiaji katika URL, encodeURIComponent karibu kila wakati ni chaguo sahihi.
decodeURIComponent hugeuza %-escapes, kuthibitisha kwamba kila njia ya kutoroka imeundwa vizuri na kwamba baiti zinazotokana zinaunda UTF-8 halali. Ingizo mbovu hutupa hitilafu badala ya kuzalisha takataka.