tigtools

URL-enkooderi / -dekooderi

Koodaa teksti URL-osoitteessa käytettäväksi tai muunna %20-tyyliset koodaukset takaisin luettavaksi tekstiksi. Valitse Komponentti yksittäiselle arvolle tai Koko URL koko osoitteelle.

Toimii selaimessasi Ei rekisteröitymistä

Suunta
Mitä olet koodaamassa?

Komponentti (encodeURIComponent) koodaa kaiken paitsi kirjaimet, numerot ja merkit - _ . ! ~ * ' ( ). Käytä sitä yksittäiselle kyselyarvolle, lomakekentälle tai polun osalle.

Käyttöohje

  1. Valitse Koodaa tai Pura.
  2. Valitse Komponentti yksittäiselle arvolle (kuten yhdelle kyselyparametrille) tai Koko URL koko osoitteelle.
  3. Kirjoita tai liitä teksti. Tulos näkyy heti oikealla (tai puhelimella alla).
  4. Kopioi tulos tai valitse ”Käytä tulos syötteenä” kääntääksesi toiminnon ja tarkistaaksesi edestakaisen muunnoksen.

Näin se toimii

URL-osoitteet saavat sisältää vain rajallisen joukon ASCII-merkkejä. Kaikki muu, myös välilyönnit, aksentilliset kirjaimet ja emojit, kirjoitetaan prosenttiviittauksina: merkki muunnetaan UTF-8-tavuiksi, ja jokainen tavu esitetään %-merkkinä ja kahtena heksadesimaalinumerona. Välilyönnistä tulee %20, é:stä %C3%A9 ja €:sta %E2%82%AC.

Komponenttitila käyttää JavaScriptin encodeURIComponent- ja decodeURIComponent-funktioita. Se koodaa jokaisen merkin, jolla on erikoismerkitys URL-osoitteessa, kuten / ? # & = + : ja @, joten tulos voidaan turvallisesti sijoittaa kyselyn arvoksi tai yksittäiseksi polun osaksi. Muuttumattomina säilyvät vain A–Z, a–z, 0–9 sekä - _ . ! ~ * ' ( ).

Koko URL-osoitteen tila käyttää encodeURI- ja decodeURI-funktioita. Se olettaa, että syöte on jo kokonainen URL-osoite, ja jättää varatut merkit ; , / ? : @ & = + $ # ennalleen, jotta osoite toimii edelleen. Purettaessa decodeURI jättää myös näiden varattujen merkkien koodaukset ennalleen: %2F pysyy muodossa %2F, koska sen muuttaminen /-merkiksi muuttaisi URL-osoitteen merkitystä.

Lomakedata-asetus noudattaa muotoa application/x-www-form-urlencoded, jota selaimet käyttävät HTML-lomakkeita lähetettäessä: välilyönti kirjoitetaan +-merkkinä %20:n sijaan. Tällä asetuksella purettaessa jokaisesta +-merkistä tulee välilyönti, joten todellinen plusmerkki on kirjoitettava muodossa %2B.

Virheellistä syötettä ei koskaan hylätä. Jos %-merkkiä ei seuraa kaksi heksadesimaalinumeroa tai jos koodausjakso ei muodosta kelvollista UTF-8:aa, työkalu näyttää ongelman sijainnin ja säilyttää tekstin, jotta voit korjata sen.

Esimerkit

Arvon sijoittaminen kyselymerkkijonoon

Jos haluat hakea hakusanalla ”Rock & Roll” osoitteessa https://example.com/search?q=…, koodaa vain arvo komponenttitilassa: Rock%20%26%20Roll. Ilman koodausta & päättäisi q-parametrin ja aloittaisi uuden parametrin nimeltä ” Roll”.

Välilyöntejä ja aksenttimerkkejä sisältävän URL-osoitteen korjaaminen

Koko URL-osoitteen tilassa https://example.com/menu/crème brûlée.html muuttuu muotoon https://example.com/menu/cr%C3%A8me%20br%C3%BBl%C3%A9e.html. Vinoviivat ja kaksoispiste säilyvät ennallaan, joten linkki toimii edelleen.

Lokitettujen lomaketietojen lukeminen

Palvelinloki näyttää arvot name=Jane+Doe&city=S%C3%A3o+Paulo. Pura ne komponenttitilassa ”Käsittele + välilyöntinä” käytössä, niin saat luettavaksi name=Jane Doe&city=São Paulo.

Usein kysytyt kysymykset

Mitä eroa on funktioilla encodeURI ja encodeURIComponent?

encodeURIComponent koodaa merkit, jotka erottavat URL-osoitteen osia (/ ? # & = + : @ ja muut), joten se on tarkoitettu yhdelle URL-osoitteen osalle. encodeURI säilyttää nämä merkit, joten se on tarkoitettu kokonaiselle URL-osoitteelle. encodeURI:n käyttäminen kyselyarvoon on yleinen virhe: arvon sisällä oleva & tai = jäisi koodaamatta ja rikkoisi kyselymerkkijonon.

Pitäisikö välilyönti olla %20 vai +?

URL:n polussa välilyönti on aina %20. Kyselymerkkijonossa voi esiintyä kumpikin: %20 on kelvollinen kaikkialla, kun taas + tarkoittaa välilyöntiä vain lomakekoodatussa datassa (application/x-www-form-urlencoded), jota HTML-lomakkeet ja monet palvelinpuolen sovelluskehykset käyttävät kyselymerkkijonojen lukemiseen. Jos et ole varma, käytä %20.

Miksi dekoodaus antaa virheen?

Purku epäonnistuu, kun %-merkkiä ei seuraa kaksi heksadesimaalinumeroa (esimerkiksi ”50% off”) tai kun %-koodatut tavut eivät ole kelvollista UTF-8:aa. Tämä johtuu yleensä siitä, että teksti on koodattu vanhemmalla merkistöllä, kuten Latin-1:llä (é merkkinä %E9 eikä %C3%A9). Virheilmoituksessa näkyy ongelman sijainti.

Miksi %2F ei muuttunut vinoviivaksi Full URL -tilassa?

decodeURI jättää tarkoituksella varattujen merkkien, kuten / ? # & ja =, koodaukset ennalleen, koska niiden purkaminen voisi muuttaa URL:n jakautumista osiin. Käytä Component-tilaa purkaaksesi kaikki koodaukset.

Mitä merkkejä ei koskaan koodata?

Molemmat tilat jättävät merkit A–Z, a–z, 0–9 ja - _ . ! ~ * ' ( ) ennalleen. Full URL -tila jättää lisäksi merkit ; , / ? : @ & = + $ ja # ennalleen.

Tietosuoja

Koodaus ja purkaminen tapahtuvat kokonaan selaimessasi sisäänrakennetuilla JavaScript-funktioilla. Tekstejäsi ja URL-osoitteitasi ei ladata, ei tallenneta eikä sisällytetä analytiikkaan.