URL-i kodeerija ja dekodeerija
Tasuta URL-i kodeerija ja dekodeerija. Kodeeri päringuparameetrid või terved URL-id, dekodeeri %XX jadad ja käsitle + tühikuna. Töötab sinu brauseris.
Kuidas URL-i kodeerijat ja dekodeerijat kasutada
- Vali Kodeeri, et muuta tekst URL-is ohutuks, või Dekodeeri, et muuta protsendikodeeritud tekst tagasi loetavateks märkideks.
- Kodeerimisel vali režiim: Osa ühe väärtuse jaoks (näiteks päringuparameeter või teekonna segment) või Terve URL, et kodeerida kogu aadress, säilitades selle struktuuri.
- Kui dekodeerid HTML-vormist või päringustringist pärit andmeid, lülita sisse Käsitle + tühikuna, et
+märgid muutuksid tühikuteks. - Kleebi tekst ja kopeeri tulemus. Kui protsendijada on vigane, teatab tööriist veast, mitte ei arva.
Mis on URL-i kodeerimine?
URL-id võivad sisaldada ainult piiratud hulka ASCII märke. Mõned märgid, nagu /, ?, #, & ja =, on reserveeritud, sest need eraldavad aadressi osi: teekonda, päringustringi ja fragmenti. Teised, näiteks tühikud, jutumärgid, rõhumärgiga tähed või emoji, pole lihtsalt lubatud. URL-i kodeerimine, mida nimetatakse ka protsendikodeeringuks, lahendab mõlemad probleemid, asendades iga probleemse baidi märgiga %, millele järgneb kaks kuueteistkümnendnumbrit.
Tekst teisendatakse kõigepealt UTF-8 baitideks ja iga bait kodeeritakse eraldi. Tühik muutub %20, ampersand %26, é (UTF-8-s kaks baiti) muutub %C3%A9 ja emoji 😀 (neli baiti) muutub %F0%9F%98%80. Reserveerimata märke, ehk tähti, numbreid ning märke - _ . ~, ei ole kunagi vaja kodeerida.
Osa režiim ja terve URL-i režiim
Õige režiimi valimine on kõige olulisem otsus ja vale valik on klassikaline vigade allikas.
Osa režiim töötab nagu JavaScripti encodeURIComponent. See kodeerib iga reserveeritud märgi, nii et tulemuse saab ohutult paigutada URL-i ühte ossa. Kasuta seda päringuparameetrite väärtuste, teekonna segmentide või kõige jaoks, mida kasutaja sisestas. Näiteks otsingusõna rock & roll muutub rock%20%26%20roll. Kui & kodeerimata jätaksid, loeks server roll uue parameetri alguseks.
Terve URL-i režiim töötab nagu encodeURI. See eeldab, et sisend on juba täielik aadress, ja säilitab märgid, mis annavad sellele struktuuri, nagu : / ? # & ja =, kodeerides tühikud ja mitte-ASCII märgid. Kasuta seda aadressi, näiteks https://example.com/café menu?q=tea, puhastamiseks kujule https://example.com/caf%C3%A9%20menu?q=tea. Ära kasuta seda üksikute väärtuste puhul: väärtuse sees olev & jääks kodeerimata ja rikuks päringustringi.
Hea rusikareegel: koosta URL-id osadest, kodeeri iga väärtus osa režiimis ja kasuta terve URL-i režiimi ainult aadresside jaoks, mis saad juba kokku pandult.
Märk + ja vormikodeering
HTML-vormid, mis esitatakse application/x-www-form-urlencoded vormingus, kodeerivad tühikud %20 asemel märgina +. Seepärast näevad otsingu-URL-id sageli välja nagu ?q=hello+world. Standardne protsendidekodeerimine jätab + muutmata, sest teekonnas on pluss lihtsalt pluss. Päringustringi või vormiandmete dekodeerimisel lülita sisse Käsitle + tühikuna, et saada hello world. Jäta see välja teekondade ja väärtuste puhul, kus literaalne + loeb, näiteks telefoninumbrid või Base64 andmed. Päris plussmärk vormiandmetes saadetakse kui %2B, seega dekodeeritakse see mõlemal juhul õigesti.
Privaatsus
Kodeerimine ja dekodeerimine toimuvad täielikult sinu brauseris. Midagi, mida kleebid, sealhulgas URL-e, mis võivad sisaldada tokeneid, sessiooni ID-sid või isikuandmeid, ei saadeta serverisse ega salvestata.
Korduma kippuvad küsimused
Miks dekodeerimine ebaõnnestub veaga "vigane"?
Märgile % peab järgnema täpselt kaks kuueteistkümnendnumbrit ja saadud baidid peavad moodustama korrektse UTF-8. Stringe nagu 100%, %G1 või poolik jada nagu %E2%82 ei saa usaldusväärselt dekodeerida, seega teatab tööriist probleemist, mitte ei anna valet teksti. Literaalse protsendimärgi lisamiseks kodeeri see kui %25.
Mis vahe on %20 ja + vahel?
Mõlemad võivad tähistada tühikut, kuid erinevates kontekstides. %20 kehtib URL-is kõikjal. + tähendab tühikut ainult vormina kodeeritud päringustringides; mujal on see literaalne plussmärk.
Kas peaksin kogu URL-i kodeerima osa režiimis?
Ainult siis, kui kogu URL on ise väärtus teise URL-i sees, näiteks parameeter redirect=. Sel juhul on osa režiim täiesti õige: https://a.com/?x=1 muutub https%3A%2F%2Fa.com%2F%3Fx%3D1.
Miks mu tekst on kaks korda kodeeritud?
Topeltkodeerimine tekib siis, kui juba kodeeritud tekst kodeeritakse uuesti, muutes %20 kujule %2520. Dekodeeri üks kord, et kontrollida, ja veendu, et iga väärtus kodeeritakse alles hetkel, kui see URL-i sisestatakse.
Kas URL-i kodeerimine peidab või kaitseb andmeid?
Ei. Protsendikodeering on täielikult pööratav ega paku turvalisust. URL-ides olevad tundlikud väärtused võivad jõuda brauseri ajalukku ja serveri logidesse, seega väldi saladuste panemist URL-idesse üldse.
Seotud tööriistad
- Base64 kodeerija ja dekodeerija Tasuta Base64 kodeerija ja dekodeerija täieliku UTF-8 toe ning base64url valikuga. Töötab täielikult sinu brauseris, midagi ei saadeta serverisse.
- JSON-i vormindaja ja valideerija Tasuta JSON-i vormindaja ja valideerija, mis kaunistab, minimeerib ja kontrollib JSON-i sinu brauseris ning teatab süntaksivead rea ja veeruga.