Utilia

URL-koodaaja ja -dekooderi

Ilmainen URL-koodaaja ja -dekooderi. Prosenttikoodaa kyselyparametreja tai kokonaisia URL-osoitteita, pura %XX-sekvenssit ja käsittele + välilyöntinä.

Tila

Näin käytät URL-koodaajaa ja -dekooderia

  1. Valitse Koodaa, jos haluat muuntaa tekstin URL-turvalliseen muotoon, tai Pura koodaus, jos haluat muuttaa prosenttikoodatun tekstin takaisin luettaviksi merkeiksi.
  2. Koodatessasi valitse Tila: Osa yksittäiselle arvolle (kuten kyselyparametrille tai polun osalle) tai Koko URL koko osoitteen koodaamiseen rakenne säilyttäen.
  3. Kun puret HTML-lomakkeelta tai kyselymerkkijonosta tulevaa dataa, ota käyttöön Tulkitse + välilyönniksi, jotta +-merkit muuttuvat välilyönneiksi.
  4. 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.