URL-encoder en -decoder in één tekstvak
Plak een link in het vak, druk op één knop en hetzelfde vak toont het resultaat. Deze URL-encoder en -decoder zet spaties, trema's en gereserveerde tekens om in procentcodes, zoals %20 voor een spatie of %C3%BC voor "ü", en zet ze weer terug. Een tabel onder het vak toont de queryparameters van de tekst die erin staat.
Het vak begint met een voorbeeldzoeklink. Pas hem aan of vervang hem door je eigen tekst.
De vijf knoppen op volgorde
- Plak een URL, een kale querystring of willekeurige tekst. De tabel onder het vak wordt bij elke toetsaanslag vernieuwd.
- encodeURIComponent is voor één waarde. Het escapet ook
/ ? : @ & = + $ # ,, zodat de waarde de link eromheen niet kan breken. - encodeURI (volledige URL) is voor een heel adres. Het laat die tekens met rust en de link blijft werken.
- decodeURI zet procentcodes terug in leesbare tekst.
- Huidige URL kopiëren kopieert het vak, niet de tabel. Wissen maakt het vak leeg.
Als een binnenste URL de buitenste breekt
Een OAuth-inloglink draagt zijn eigen terugkeeradres in redirect_uri. Plak dat binnenste adres zoals het is en de eerste & beëindigt de parameter te vroeg. Haal het binnenste adres eerst door encodeURIComponent en voeg het dan aan de buitenste link toe.
De andere richting komt even vaak voor. Een serverlog toont q=caf%C3%A9+au+lait en je wilt weten wat de klant typte. Plak de regel en druk op decodeURI.
Trackinglinks zijn het derde geval. Twaalf utm_-parameters zijn een muur van tekst op één regel. In de tabel zijn het twaalf korte rijen.
Plustekens, foute procentcodes en dubbele codering
- Decoderen vervangt eerst elke
+door een spatie en lost pas daarna de%XX-codes op. Een letterlijke plus in een pad wordt een spatie.%2Bblijft een plus. - Een
%zonder twee hexcijfers erachter laat het decoderen mislukken. Het vak behoudt zijn tekst en toont geen fout. - Twee keer coderen maakt van
%20%2520. - Een volledig adres decoderen lost ook
%26en%3Dop. De structuur van de query kan veranderen.
De tabel leest adressen die beginnen met http:// of https://. Elke andere tekst telt als querystring, met of zonder voorafgaande ?. Hij toont gedecodeerde waarden, dus q=web+tools verschijnt als "web tools". Een fragment na # wordt niet getoond, een herhaalde sleutel krijgt een rij per waarde en tekst die niet kan worden geparsed geeft een korte melding in plaats van een tabel.
Geplakte links worden nergens heen gestuurd
Coderen, decoderen en de tabel draaien in je browser. Een druk op een knop verstuurt geen verzoek en het netwerkpaneel van je ontwikkelaarstools toont dat. Alleen de kopieerknop raakt het klembord aan, en alleen als je erop drukt.
Veelgestelde vragen (FAQ)
encodeURI laat tekens als :/?#&= staan, zodat een hele URL blijft werken. encodeURIComponent escapet ze, wat je wilt voor de waarde van één parameter.