Procentkodet

Dekodet Tekst

Hvad er URL-dekoderen?

Indsæt en procentkodet streng i venstre panel, og højre panel viser originalen. Under motorhjelmen kører den decodeURIComponent, som går igennem hver %XX-sekvens i input, behandler disse hex-par som UTF-8-bytes og genopbygger de oprindelige tegn. Så %20 bliver til et mellemrum, %26 bliver til &, %E2%9C%85 bliver til et flueben. Den modsatte retning bor på URL-koderen.

Hvorfor er dekodning drilsk? Fordi ikke hvert % i den vilde verden er en del af en gyldig procentkodet sekvens. Et enligt % efterfulgt af ikke-hex-tegn (%G1, % i slutningen af strengen) er fejlformateret, og dekoderen kaster en URIError: URI malformed. Denne side fanger det og viser en venlig "Ugyldig kodning"-besked i stedet for et stack trace, så en korrupt indsætning ødelægger ikke siden. De præcise regler for, hvad der tæller som gyldigt, bor i RFC 3986 §2.1 og WHATWG URL-standarden.

Pas på dobbeltkodning. Hvis du dekoder en streng, og output STADIG indeholder %-tegn (fx du fik Ava%2520Chen tilbage i stedet for Ava Chen), er værdien blevet kodet to gange et eller andet sted i kæden — typisk en proxy eller et framework, der autokodede en allerede kodet værdi. At dekode igen tager dig resten af vejen. Wikipedias noter om dobbeltkodning har en god gennemgang af, hvordan det sker. Alt kører i din browser. Ingen upload, ingen server, ingen logs.

Sådan Bruger Du URL-dekoderen

Tre trin. Siden opdaterer mens du skriver — ingen Konvertér-knap.

1

Indsæt din kodede streng eller klik på Eksempel

Slip en procentkodet streng ind i venstre panel. Klik på Eksempel for at indlæse et realistisk tilfælde. Eksempel-input:

Ava%20Chen%20%26%20friends%3F%20customer%40shop.com%20%20100%25%20off!

Fejlformateret input (et enligt <code>%</code>, et ugyldigt hex-par som <code>%G1</code>) dukker op som "Ugyldig kodning"-besked i outputpanelet — se <a href="https://tc39.es/ecma262/#sec-decodeuricomponent-encodeduricomponent" target="_blank" rel="noopener">ECMAScript-specifikationen for decodeURIComponent</a> for de præcise fejlregler.

2

Læs det dekodede output

Højre panel viser den dekodede tekst. %20 bliver til et mellemrum, %26 bliver til &, %3F bliver til ?, %40 bliver til @, %25 bliver til %. Opdaterer mens du skriver.

3

Kopiér eller download

Klik på Kopiér for at lægge den dekodede tekst på din udklipsholder, eller på Download for at gemme den som en .txt-fil. Brug Ryd i inputpanelet for at starte forfra. For at gå den anden vej, hop over til URL-koderen.

Hvornår Du Faktisk Vil Bruge Det

Læse hvad der faktisk står i en query-parameter

En URL som ?customer=Ava%20Chen&tag%5B0%5D=red er svær at skanne med procentkoderne stadig på plads. Indsæt en enkelt værdi her og du får Ava Chen eller tag[0] tilbage, hvilket gør det åbenlyst, om parameteren er det, du forventede. For at bryde en hel URL ned tager URL-parseren sig af query-parametre automatisk.

Debugge dobbeltkodede værdier

Du indsætter Ava%2520Chen, dekoder én gang, får Ava%20Chen. Det ekstra lag er det rygende bevis — et eller andet sted har en proxy, et framework eller et bibliotek kodet værdien en anden gang. Dekod igen for at få den rigtige streng. OAuth-specifikationer er hyppige syndere, fordi redirect_uri-værdier ofte passerer gennem lag, der hver især hjælpsomt koder dem igen.

Inspicere webhook- og analyse-URL'er fra logs

Når noget fejler i produktion, er URL'en i adgangsloggen som regel fuldt kodet — %7B%22event%22%3A%22signup%22%7D i stedet for den JSON, webhooken faktisk sendte. Indsæt den her og du får {"event":"signup"} tilbage, hvilket er noget, der kan læses.

Dekode et magic link eller en URL til adgangskodenulstilling

Når en kunde som Marco Rivera siger "nulstillingslinket er ødelagt", indeholder linket en token, en e-mail og et omdirigeringsmål — alle procentkodet. At dekode den mistænkelige parameter viser, om e-mailen er den rigtige adresse, om tokenen overlevede en e-mailklientmangling, eller om omdirigerings-URI'en blev kappet.

Almindelige Spørgsmål

Hvad sker der med fejlformateret input som et enligt % eller %G1?

Den indbyggede decodeURIComponent kaster en URIError: URI malformed på en sekvens, der ikke er et gyldigt %XX-hex-par. Denne side fanger det og skriver "Ugyldig kodning: ..." i outputpanelet i stedet for at crashe. De hyppigste årsager er et vildfarent literal %, der burde have været %25, eller en kopier-indsæt, der mistede et afsluttende hex-ciffer.

Hvordan kan jeg se, om mit input er dobbeltkodet?

Dekod én gang. Hvis output stadig har %-tegn (især %20, %2F, %3A) og skulle have været almindelig tekst, blev det kodet to gange. Dekod outputtet fra den første dekodning. Tre runder er sjældent men muligt — det betyder typisk en kæde af tre forskellige tjenester, hvor hver kodede den samme værdi.

Og hvad med plus-tegn — skal de dekodes til mellemrum?

Ikke med decodeURIComponent — den lader + være. +-som-mellemrum-konventionen tilhører application/x-www-form-urlencoded (HTML-formularindsendelser), ikke generel URL-procentkodning. Hvis dit input kommer fra en formularkrop og har + for mellemrum, kør .replace(/\+/g, "%20") først, så dekod. WHATWG-specifikationen for application/x-www-form-urlencoded beskriver denne to-smags-situation.

Klarer den round-trip af Unicode og emoji korrekt?

Ja. Procentkodede flerbyte UTF-8-sekvenser (fx %E2%9C%85 for et flueben, %F0%9F%9A%80 for en raket) dekodes direkte tilbage til de oprindelige tegn. Den eneste måde det fejler på, er hvis koderen brugte et ikke-UTF-8-tegnsæt, hvilket moderne systemer ikke gør.

Bliver det input, jeg indsætter her, sendt nogen steder?

Nej. Dekodningen kører helt i din browser. Intet netværkskald, ingen serverlog, intet forlader din maskine. Tokens, e-mails, signerede URL'er — alle sikre at indsætte.

Hvor stor en streng kan jeg dekode her?

Der er en grænse på 256 KB på input. Har du hundreder af KB procentkodet tekst, har du næsten helt sikkert en payload, der burde dekodes på serversiden i stedet for at blive indsat i et værktøj — kodede payloads af den størrelse indikerer som regel misbrug af URL-kodning til et job, der råber på base64 eller en request body.

Andre URL- og Kodningsværktøjer

Dekodning er én operation. Her er, hvad der naturligt går hånd i hånd: