URL-decoder

Decodeer URL-invoer terug naar de oorspronkelijke tekenreeksindeling met onze URL-decoder tool voor eenvoudige gegevensophaling.

5 van 2 beoordelingen
URL-decoder

De URL-decoder is een gratis tool die URL-tekst met procentcodering terugzet naar de oorspronkelijke tekenreeks.

Wat doet URL-decodering?

URL-decodering maakt de codering ongedaan waarmee spaties, leestekens en andere bytes worden verwerkt in URL's en andere vastgelegde syntaxis die procentcodering gebruikt. Bij procentcodering wordt een byte weergegeven als een procentteken met daarachter twee hexadecimale cijfers. URL-codering voor formulieren gebruikt daarnaast + voor een spatie. Zo kan een spatie worden geschreven als %20 en een ampersand als %26.

Een eenvoudig voorbeeld van voor en na:

Gecodeerde invoer: red%20%26%20blue

Gedecodeerde uitvoer: red & blue

Deze codering is nodig omdat sommige tekens een structurele betekenis hebben in een URL. Een vraagteken markeert het begin van de query van een URL, terwijl een letterlijk ampersand in querygegevens van formulieren normaal gesproken velden van elkaar scheidt. Door zulke tekens te coderen, kan een toepassing ze als gegevens doorgeven.

URL-codering is geen versleuteling en biedt geen geheimhouding. Iedereen die de gecodeerde waarde kan lezen, kan deze ook decoderen. Beschouw procentgecodeerde wachtwoorden, toegangstokens of persoonsgegevens daarom niet als beschermde gegevens.

Schema: tekst gaat in beide richtingen door de tool URL-decoder

Hoe gebruik ik de URL-decoder?

Plak of typ de gecodeerde tekst, verwerk de invoer en bekijk vervolgens de herstelde waarde in het resultaatveld URL gedecodeerd. De tool gebruikt de PHP-functie urldecode. Geldige %HH-reeksen worden dus omgezet en een plusteken wordt als spatie behandeld.

  1. Kopieer het gecodeerde onderdeel, bijvoorbeeld de waarde van een queryparameter.
  2. Voer de URL-gecodeerde waarde in zonder aanhalingstekens toe te voegen, tenzij die tekens echt bij de waarde horen.
  3. Verwerk de URL-invoer en controleer het resultaat bij URL gedecodeerd.
  4. Bevat de uitvoer nog steeds reeksen zoals %2F of %20, controleer dan of de bron meerdere keren is gecodeerd voordat je opnieuw decodeert.
De tool URL-decoder op digily.link, met het invoerformulier

De verwerking vindt plaats op de server. Je invoer wordt via HTTPS naar de server verzonden en niet opgeslagen, maar verlaat tijdens de verwerking wel je apparaat. Plak geen geheime gegevens in deze URL-decoder, tenzij verwerking op de server geschikt is voor die gegevens.

Waar wordt URL-codering gebruikt?

URL-codering kom je vooral tegen in queryreeksen, verzonden formuliergegevens en waarden die in links zijn opgenomen. De codering wordt ook gebruikt op minder voor de hand liggende plaatsen waar gegevens door een beperkt tekstformaat moeten worden doorgegeven.

  • Queryreeksen: een zoekopdracht naar "tea & cake" kan worden weergegeven als q=tea+%26+cake.
  • Data-URI's: tekstgegevens kunnen na het mediatype met procentcodering worden opgenomen, al is Base64 ook een veelgebruikte notatie.
  • E-maillinks: een mailto-link kan spaties, regeleinden en leestekens in de parameters voor het onderwerp of de berichttekst coderen. MIME-overdrachtscoderingen binnen een e-mailbericht zijn afzonderlijke formaten.
  • JSON-payloads: JSON gebruikt eigen regels voor escape-tekens, maar een JSON-tekenreeks kan een al gecodeerde URL of querywaarde bevatten die afzonderlijk moet worden gedecodeerd.
  • Geïnternationaliseerde domeinen: domeinlabels met niet-ASCII-tekens gebruiken normaal gesproken Punycode in plaats van procentcodering. Pad- en queryonderdelen kunnen nog steeds procentgecodeerde UTF-8-bytes bevatten.

Begint de gecodeerde tekst met het domeinlabel xn--, gebruik dan een IDN Punycode-converter. Een URL-decoder is bedoeld voor procentgecodeerde URL-onderdelen, niet voor het omzetten van Punycode.

Voorbeeldresultaat van de tool URL-decoder

Voorbeelden van URL-decodering

De volgende voorbeelden tonen veelvoorkomende URL-gecodeerde invoer en de bijbehorende gedecodeerde tekst.

  • hello%20world wordt hello world.
  • name=Tom+Jones wordt name=Tom Jones.
  • fish%26chips wordt fish&chips.
  • %C2%A3 wordt £ als de bytes UTF-8-tekst voorstellen.
  • %E6%9D%B1%E4%BA%AC wordt 東京 bij interpretatie als UTF-8.
  • 100%25 wordt 100%.

Gewone letters, cijfers en niet-gecodeerde leestekens blijven doorgaans ongewijzigd. Lege invoer levert een leeg resultaat op bij URL gedecodeerd. Voor zeer lange invoer gelden dezelfde decoderingsregels, al kunnen browsers, servers en ontvangende systemen eigen limieten hanteren voor de lengte van verzoeken of URL's.

Letters met accenten en niet-Latijnse tekens worden meestal gecodeerd als een reeks UTF-8-bytes, waarbij elke byte afzonderlijk wordt genoteerd. Als het oorspronkelijke systeem een andere tekencodering gebruikte, kunnen de gedecodeerde bytes als vervangingstekens of schijnbaar betekenisloze tekst verschijnen.

Waarom mislukt URL-decodering of krijg ik onleesbare tekst?

URL-decodering kan ongewijzigde of onverwachte uitvoer opleveren als de invoer onvolledige procentreeksen bevat, meerdere keren is gecodeerd, met de verkeerde tekenset wordt geïnterpreteerd of helemaal geen URL-gecodeerde gegevens bevat. PHP's urldecode laat ongeldige procentreeksen ongewijzigd. Bij dubbel gecodeerde invoer levert één decoderingsronde slechts een tussenresultaat op. Controleer de oorspronkelijke bron voordat je gegevens herhaaldelijk decodeert.

  • Dubbel gecodeerde invoer: %2520 wordt na één decoderingsronde %20 en verandert pas na een tweede ronde in een spatie. Decodeer alleen opnieuw als je weet dat er nog een coderingslaag aanwezig is.
  • Onvolledige procentreeks: elke gecodeerde byte vereist twee hexadecimale cijfers. Een afsluitend % of een waarde zoals %2 is ongeldig en kan geen volledige gecodeerde byte voorstellen. PHP's urldecode laat zo'n reeks daarom ongewijzigd.
  • Verkeerde tekencodering: procentdecodering herstelt bytes. Als je bijvoorbeeld ISO-8859-1-bytes als UTF-8 interpreteert, kan onleesbare tekst ontstaan, ook als de procentreeksen geldig waren.
  • Binaire gegevens in plaats van tekst: de gedecodeerde bytes kunnen een afbeelding, gecomprimeerd bestand of andere binaire inhoud voorstellen. Zulke uitvoer wordt niet als leesbare tekst weergegeven.
  • Verkeerd type codering: als het URL-gedecodeerde resultaat vervolgens naar een Base64-decoder wordt gestuurd, kan die decoder mislukken door een verschil tussen het standaardalfabet en het URL-veilige alfabet, ontbrekende =-opvulling of beschadigde invoer. Procentcodering voor URL's heeft geen opvulling en gebruikt geen Base64-alfabet. URL-decodering controleert of herstelt zulke Base64-problemen niet.

Let op letterlijke plustekens. Bij URL-codering voor formulieren staat + voor een spatie. Een echt plusteken moet vóór het decoderen normaal gesproken als %2B zijn gecodeerd.

Veelgestelde vragen

Moet ik een volledige URL decoderen of alleen een onderdeel?

Decodeer waar mogelijk alleen het afzonderlijke padsegment of de waarde van een queryparameter. Als je een volledige URL decodeert, kunnen gecodeerde gereserveerde tekens zoals %26, %3F of %2F veranderen in scheidingstekens. Daardoor kan de URL anders worden geïnterpreteerd.

Werkt URL-decodering ook met kleine hexadecimale letters?

Ja. Bij hexadecimale cijfers in procentreeksen maakt hoofdlettergebruik niet uit. %2f en %2F stellen dus dezelfde byte voor. Reeksen met zowel hoofdletters als kleine letters zijn eveneens geldig.

Decodeert de tool dezelfde waarde meerdere keren?

Nee. Eén aanroep van urldecode voert één decoderingsronde uit. Als %252F verandert in %2F, is nog een ronde nodig om een schuine streep te krijgen. Herhaaldelijk decoderen kan echter gegevens wijzigen die bewust een letterlijke procentreeks bevatten.

Kan URL-decodering beschadigde tekst herstellen?

Nee. URL-decodering kan geldige procentcodering ongedaan maken, maar geen ontbrekende hexadecimale cijfers reconstrueren of met zekerheid de oorspronkelijke tekenset bepalen. Controleer het bronsysteem, de HTTP-headers of de documentatie als de gedecodeerde bytes niet correct worden weergegeven.

Wat moet ik doen met een waarde die begint met xn--?

Behandel deze als een Punycode-domeinlabel en niet als gewone procentgecodeerde tekst. Gebruik een IDN Punycode-converter en controleer het resulterende domein zorgvuldig. Visueel vergelijkbare Unicode-tekens kunnen namelijk uit verschillende schriften afkomstig zijn.

Vergelijkbare tools

URL-encoder

Encodeer elke string naar URL-formaat met onze URL-encoder tool voor veilige en beveiligde webadressen.

4,833
40

Populaire tools