URL-koodaus ja -purku

Prosenttikoodaa tekstiä URL-osoitteita ja kyselymerkkijonoja varten, pura koodattuja URL-osoitteita ja pilko mikä tahansa URL osiin purettujen kyselyparametrien kera.

Toimii selaimessaEi rekisteröitymistäMitään ei lähetetä

Koodattu

Näin käytät työkalua: URL-koodaus / -purku

  1. Valitse Koodaa tai Pura.
  2. Koodatessa valitse Komponentti yksittäiselle kyselyarvolle tai polun osalle, Koko URL säilyttääksesi URL:n rakenteen tai Lomakedata muodolle application/x-www-form-urlencoded.
  3. Liitä teksti. Tulos ilmestyy heti; virheelliset koodaukset ilmoitetaan sijainteineen.
  4. Liitä kokonainen URL URL-jäsentimeen nähdäksesi sen isännän, polun, fragmentin ja jokaisen kyselyparametrin purettuna.

Mitä URL-koodaus on?

URL-osoitteet saavat sisältää vain rajatun joukon ASCII-merkkejä (RFC 3986). Kaikki muu, mukaan lukien välilyönnit, ääkköset ja erityismerkitykselliset merkit kuten &, ? ja #, kirjoitetaan prosenttimerkkinä, jota seuraa kaksi heksanumeroa jokaista UTF-8-tavua kohden. Välilyönnistä tulee %20 ja merkistä é tulee %C3%A9.

encodeURIComponent vs. encodeURI

FunktioJättää koskemattaKäyttökohde
encodeURIComponentA-Z a-z 0-9 - _ . ~Yksittäinen kyselyarvo, polun osa tai parametrin nimi
encodeURILisäksi : / ? # [ ] @ ! $ & ' ( ) * + , ; =Kokonainen URL, jonka rakenteen on säilyttävä

encodeURI-funktion käyttäminen kyselyarvoon on klassinen bugi: arvon sisällä olevaa &-merkkiä ei koodata, joten se jakaa parametrin kahtia. Tämän työkalun Komponentti-tila koodaa myös merkit ! ' ( ) * tiukan RFC 3986 -yhteensopivuuden vuoksi.

%20 vai + välilyönneille?

Poluissa välilyönnin on oltava %20. HTML-lomakkeiden lähetyksissä (application/x-www-form-urlencoded) ja monissa kyselymerkkijonoissa välilyönti kirjoitetaan merkkinä +. Purettaessa ota Käsittele + välilyöntinä käyttöön lomakedatalle ja poista se käytöstä, kun plusmerkillä on merkitystä, kuten osoitteessa jane+test@example.com.

Usein kysytyt kysymykset

Miksi saan purettaessa virheen ”Virheellinen koodaus”?
Merkkiä % on seurattava tasan kaksi heksanumeroa. Kirjaimellinen prosenttimerkki, kuten ”50 % alennus”, olisi pitänyt koodata muotoon %25. Virheilmoitus näyttää virheellisen jakson sijainnin.
Mitä ”Virheellinen UTF-8-tavujono” tarkoittaa?
Tavuja ei ole koodattu UTF-8:na, usein koska teksti on tuotettu Latin-1:tä käyttävässä vanhassa järjestelmässä (esimerkiksi %E9 merkille é eikä %C3%A9), tai merkkijono on katkaistu kesken merkin.
Pitäisikö koodata koko URL vai vain parametrit?
Koodaa jokainen parametrin nimi ja arvo erikseen komponenttikoodauksella ja yhdistä ne sitten merkeillä = ja &. Kokonaisen URL:n koodaaminen komponenttitilassa koodaisi myös merkit :// ja rikkoisi sen.
Onko kaksinkertainen koodaus ongelma?
On. Jo koodatun merkkijonon koodaaminen muuttaa %20:n muotoon %2520. Jos näet %25, jota seuraa heksanumeroita, arvo on luultavasti koodattu kahdesti. Pura se kahdesti saadaksesi alkuperäisen.

Aiheeseen liittyvät työkalut