URL-koodaaja ja -dekooderi
Ilmainen URL-koodaaja ja -dekooderi. Prosenttikoodaa kyselyparametreja tai kokonaisia URL-osoitteita, pura %XX-sekvenssit ja käsittele + välilyöntinä.
Näin käytät URL-koodaajaa ja -dekooderia
- Valitse Koodaa, jos haluat muuntaa tekstin URL-turvalliseen muotoon, tai Pura koodaus, jos haluat muuttaa prosenttikoodatun tekstin takaisin luettaviksi merkeiksi.
- Koodatessasi valitse Tila: Osa yksittäiselle arvolle (kuten kyselyparametrille tai polun osalle) tai Koko URL koko osoitteen koodaamiseen rakenne säilyttäen.
- Kun puret HTML-lomakkeelta tai kyselymerkkijonosta tulevaa dataa, ota käyttöön Tulkitse + välilyönniksi, jotta
+-merkit muuttuvat välilyönneiksi. - Liitä tekstisi ja kopioi tulos. Jos prosenttisekvenssi on virheellinen, työkalu ilmoittaa virheestä sen sijaan, että arvaisi.
Mitä URL-koodaus on?
URL-osoitteet saavat sisältää vain rajoitetun joukon ASCII-merkkejä. Jotkin merkit, kuten /, ?, #, & ja =, ovat varattuja, koska ne erottavat osoitteen osat: polun, kyselymerkkijonon ja fragmentin. Toiset, kuten välilyönnit, lainausmerkit, aksenttikirjaimet tai emojit, eivät yksinkertaisesti ole sallittuja. URL-koodaus, jota kutsutaan myös prosenttikoodaukseksi, ratkaisee molemmat ongelmat korvaamalla jokaisen ongelmallisen tavun merkillä %, jota seuraa kaksi heksadesimaalinumeroa.
Teksti muunnetaan ensin UTF-8-tavuiksi, ja jokainen tavu koodataan erikseen. Välilyönti muuttuu muotoon %20, et-merkki muotoon %26, ä (kaksi tavua UTF-8:ssa) muotoon %C3%A4 ja emoji 😀 (neljä tavua) muotoon %F0%9F%98%80. Varaamattomia merkkejä, eli kirjaimia, numeroita ja merkkejä - _ . ~, ei koskaan tarvitse koodata. Suomalaisissa osoitteissa ja hakusanoissa ääkköset koodataan siis aina tavuina: ö on %C3%B6 ja å on %C3%A5.
Osa-tila vai koko URL -tila
Oikean tilan valinta on tärkein päätös, ja väärä valinta on klassinen virheiden lähde.
Osa-tila toimii kuten JavaScriptin encodeURIComponent. Se koodaa jokaisen varatun merkin, joten tuloksen voi turvallisesti sijoittaa URL-osoitteen yhteen osaan. Käytä sitä kyselyparametrien arvoille, polun osille tai kaikelle, minkä käyttäjä on kirjoittanut. Esimerkiksi hakusana rock & roll muuttuu muotoon rock%20%26%20roll. Jos et koodaisi &-merkkiä, palvelin lukisi roll-sanan uuden parametrin alkuna.
Koko URL -tila toimii kuten encodeURI. Se olettaa syötteen olevan jo kokonainen osoite ja säilyttää sille rakenteen antavat merkit, kuten : / ? # & ja =, mutta koodaa välilyönnit ja ei-ASCII-merkit. Käytä sitä siistimään osoite, kuten https://example.com/kahvila menu?q=tee, muotoon https://example.com/kahvila%20menu?q=tee. Älä käytä sitä yksittäisille arvoille: arvon sisällä oleva & jäisi koodaamatta ja rikkoisi kyselymerkkijonon.
Hyvä nyrkkisääntö: rakenna URL-osoitteet osista, koodaa jokainen arvo osa-tilassa ja käytä koko URL -tilaa vain valmiiksi koottuina saamillesi osoitteille.
+-merkki ja lomakekoodaus
Muodolla application/x-www-form-urlencoded lähetetyt HTML-lomakkeet koodaavat välilyönnit merkillä + muodon %20 sijaan. Siksi hakuosoitteet näyttävät usein tältä: ?q=hei+maailma. Tavallinen prosenttipurku jättää +-merkin ennalleen, koska polussa plus on vain plus. Kun puret kyselymerkkijonoa tai lomakedataa, ota käyttöön Tulkitse + välilyönniksi, jotta saat tuloksen hei maailma. Jätä se pois poluille ja arvoille, joissa kirjaimellisella +-merkillä on väliä, kuten puhelinnumeroille tai Base64-datalle. Todellinen plusmerkki lomakedatassa lähetetään muodossa %2B, joten se puretaan oikein kummassakin tapauksessa.
Yksityisyys
Koodaus ja purku tapahtuvat kokonaan selaimessasi. Mitään liittämääsi, mukaan lukien URL-osoitteet, jotka voivat sisältää tunnuksia, istuntotunnisteita tai henkilötietoja, ei lähetetä palvelimelle eikä tallenneta.
Usein kysytyt kysymykset
Miksi purku epäonnistuu virheilmoituksella "virheellinen"?
Merkkiä % on seurattava täsmälleen kaksi heksadesimaalinumeroa, ja tuloksena olevien tavujen on muodostettava kelvollinen UTF-8. Merkkijonoja, kuten 100%, %G1 tai katkennut sekvenssi %E2%82, ei voi purkaa luotettavasti, joten työkalu ilmoittaa ongelmasta sen sijaan, että tuottaisi virheellistä tekstiä. Jos haluat sisällyttää kirjaimellisen prosenttimerkin, koodaa se muodossa %25.
Mitä eroa on %20:llä ja +:lla?
Kumpikin voi esittää välilyöntiä, mutta eri yhteyksissä. %20 on kelvollinen kaikkialla URL-osoitteessa. + tarkoittaa välilyöntiä vain lomakekoodatuissa kyselymerkkijonoissa; muualla se on kirjaimellinen plusmerkki.
Pitäisikö koko URL koodata osa-tilassa?
Vain jos koko URL on itse arvo toisen URL-osoitteen sisällä, esimerkiksi redirect=-parametri. Silloin osa-tila on täsmälleen oikea: https://a.com/?x=1 muuttuu muotoon https%3A%2F%2Fa.com%2F%3Fx%3D1.
Miksi tekstini on koodattu kahdesti?
Kaksoiskoodaus tapahtuu, kun jo koodattu teksti koodataan uudelleen, jolloin %20 muuttuu muotoon %2520. Pura kerran tarkistaaksesi ja varmista, että jokainen arvo koodataan vain sillä hetkellä, kun se lisätään URL-osoitteeseen.
Piilottaako tai suojaako URL-koodaus dataa?
Ei. Prosenttikoodaus on täysin palautuva eikä tarjoa mitään suojaa. URL-osoitteiden arkaluonteiset arvot voivat päätyä selaimen historiaan ja palvelimen lokeihin, joten vältä salaisuuksien laittamista URL-osoitteisiin lainkaan.
Aiheeseen liittyvät työkalut
- Base64-koodaus ja -purku Ilmainen Base64-koodaus ja -purku täydellä UTF-8-tuella ja URL-turvallisella base64url-vaihtoehdolla. Toimii selaimessa, mitään ei lähetetä palvelimelle.
- JSON-muotoilija ja -validaattori Ilmainen JSON-muotoilija ja -validaattori, joka siistii, pienentää ja tarkistaa JSONin selaimessa ja ilmoittaa syntaksivirheet rivin ja sarakkeen kanssa.