Ilmainen muunnin

URL-kooderi / Dekooderi

Koodaa ja purkaa URL-osoitteet ja URI-komponentit välittömästi selaimessasi. Ilmainen, yksityinen, eikä latausta vaadita.

Tai

Tietoa tästä työkalusta

URL-koodaus (muodollisesti prosenttikoodaus, määritelty RFC 3986:ssa) kääntää merkit, joilla on erityinen merkitys URL-osoitteissa – välilyönnit, kauttaviivat, et-merkit, hash-merkit – turvalliseen muotoon käyttämällä prosenttimerkkejä ja heksadesimaalilukuja. Välilyönnistä tulee %20 (tai + lomakekoodatuissa yhteyksissä), et-merkistä tulee %26 ja niin edelleen. Ilman tätä koodausta erikoismerkit tulkittaisiin URL-syntaksiksi eikä kirjaimellisiksi tiedoiksi, jotka rikkoisivat URL-osoitteen tai aiheuttaisivat ei-toivottua toimintaa.

On olemassa kaksi toisiinsa liittyvää mutta erillistä koodausta. Tavallinen URL-komponenttikoodaus käyttää %-poistomerkkejä kaikessa varaamattoman merkistön ulkopuolella: A-Z, a-z, 0-9, yhdysmerkki, alaviiva, piste, aaltoviiva. Lomakekoodattu muunnelma (application/x-www-form-urlencoded) käsittelee lisäksi välilyöntejä plusmerkkeinä ja käyttää erilaisia ​​sääntöjä joillekin muille merkeille. JavaScriptin encodeURIComponent käyttää tiukkaa komponenttikoodausta; encodeURI käyttää sallivampaa muotoa, joka säilyttää URL-rakenteen merkit.

Tämä työkalu tarjoaa sekä koodauksen että dekoodauksen. Koodaustila rivittää jokaisen merkin, joka vaatii esca-merkin, %HH-muodossa; dekoodaustila kääntää muunnoksen. Molemmat toimivat kokonaan selaimessasi sisäänrakennettujen JavaScript-URL-toimintojen avulla, joten tietoja ei lähetetä minnekään.

Miksi koodata tai purkaa URL-osoitteita

Aina kun tiedot sisällytetään URL-osoitteeseen – kyselymerkkijonoparametrit, käyttäjän syötteen sisältävät polkusegmentit, uudelleenohjauskohteet – vaaditaan oikea koodaus. Koodauksen epäonnistuminen tuottaa URL-osoitteita, jotka katkeavat erikoismerkkien ilmestyessä, vuotavat parametrien rajoja kyselymerkkijonoihin (muuten &x=1:n erilliseksi parametriksi) tai verkkopalvelimet estävät ne virheellisinä muotoiltuina pyyntöinä.

Dekoodaus on käänteinen: alkuperäisen tiedon poimiminen koodatusta URL-osoitteesta. Selaimen osoitepalkit näyttävät usein URL-osoitteet koodatussa muodossa. dekoodaus paljastaa, mitä todella oli tarkoitus. Kirjaus, virheenkorjaus ja suojausanalyysi hyötyvät kaikki puretuista URL-osoitteista, jotka näyttävät alkuperäiset parametrit ja polut.

Käyttöohjeet

Liitä merkkijono, valitse suunta.

  1. Valitse koodaa tai purkaa: Encode rivittää vaaralliset merkit %HH-muodossa. Dekoodaus kääntää %HH-pakotuksen takaisin kirjaimeen.
  2. Lisää syöttöteksti: Liitä merkkijono koodataksesi tai purkaaksesi. Koodauksessa tämä on yleensä kirjaimellinen arvo, jossa on välilyöntejä, erikoismerkkejä tai ei-ASCII-sisältöä. Koodauksen purkamista varten tämä on URL-osoite tai URL-komponentti, joka sisältää %HH-pakomerkkejä.
  3. Muunna: Työkalu käyttää encodeURIComponent tai decodeURIComponent. Koodattu tuloste on turvallista upottaa URL-osoitteeseen. dekoodattu tulos on alkuperäinen literaaliarvo.
  4. Kopioi tai lataa: Käytä tulosta siellä, missä sitä tarvitset. Koodatut arvot sopivat URL-osoitteisiin; dekoodatut arvot paljastavat alkuperäiset tiedot.

Yleiset käyttötapaukset

Tekniset tiedot

encodeURIComponent koodaa kaikki varaamattoman joukon [A-Za-z0-9-_.~] ulkopuolella olevat merkit. Välilyönneistä tulee %20, plusmerkeistä %2B, yhtäläisyysmerkeistä %3D ja niin edelleen. ASCII:n ulkopuoliset merkit koodataan ensin UTF-8:lla ja sitten jokainen tavu on %-escape.

encodeURI on sallivampi ja se on tarkoitettu kokonaisille URL-osoitteille osien sijaan. Se ei ohita /, ?, &, =, # ja muutamia muita, koska näillä merkeillä on URL-syntaksin merkitys. Käyttäjätietojen upottamiseksi URL-osoitteeseen encodeURIComponent on melkein aina oikea valinta.

decodeURIComponent kääntää %-poikkeamat ja varmistaa, että jokainen poistomerkki on hyvin muotoiltu ja että tuloksena olevat tavut muodostavat kelvollisen UTF-8:n. Väärin muotoiltu syöttö aiheuttaa virheen pikemminkin kuin roskaa.

Parhaat käytännöt

Usein kysytyt kysymykset

Mitkä merkit tarvitsevat URL-koodauksen?
Varatut merkit (&, =, ?, #, /, :, @) ja vaaralliset merkit (välilyönnit, <, >, {, }, |, ^, ~, [, ], `) on koodattava. Aakkosnumeeriset merkit ja -_.~ ovat turvallisia eivätkä vaadi koodausta.
Mitä eroa on encodeURI:lla ja encodeURIComponentilla?
encodeURI koodaa koko URL-osoitteen, mutta säilyttää varatut merkit (://?#). encodeURIComponent koodaa kaiken paitsi -_.!~*'() — käytä sitä kyselyparametrien arvoihin. Tämä työkalu tarjoaa molemmat tilat.
Miten välilyönnit koodataan URL-osoitteissa?
Välilyönnit voidaan koodata muodossa %20 (vakioprosenttikoodaus) tai + (lomakekoodaus). %20 on oikea URL-poluille, kun taas merkkiä + käytetään HTML-lomakkeiden kyselymerkkijonoissa. Tämä työkalu käyttää oletuksena %20.
Voinko koodata Unicode-merkkejä?
Kyllä. Unicode-merkit koodataan ensin UTF-8-tavuiksi, sitten jokainen tavu prosenttikoodataan. Esimerkiksi '日' muuttuu %E6%97%A5 (kolme UTF-8 tavua, jokainen prosenttikoodattu).
Pitäisikö minun käyttää encodeURI tai encodeURIComponent?
Lähes aina encodeURIComponent. Käytä encodeURI:ta vain, jos sinulla on täydellinen URL-osoite ja haluat säilyttää sen rakenteen – tyypillisesti harvinaista, koska rakennat URL-osoitteita joka tapauksessa komponenteista.
Ladataanko tietoni palvelimelle?
Ei. URL-koodaus ja koodauksen purku tapahtuvat kokonaan selaimessasi.
Käsitteleekö se Unicode-emojia?
Kyllä. Emojit ovat monitavuisia UTF-8-sekvenssejä; Enkooderi tuottaa ketjun %-poistuneita tavuja, jotka dekooderit kokoavat oikein takaisin alkuperäiseen emojiin.
Entä jos syötteessäni on %HH:n näköisiä merkkijonoja, joita ei itse asiassa ole koodattu?
Koodaus muuttaa jokaisen %:n %25:ksi ja käyttää sitten uudelleen pakenemista lopuille. Tiukan syötteen dekoodaus aiheuttaa virheitä väärin muotoiltuihin pakotteisiin; moniselitteiseltä näyttävät merkkijonot voivat purkaa väärin.