URL-afkoder

5 af 2 bedømmelser
URL-afkoder

URL-afkoder er et gratis værktøj, der konverterer procentkodet URL-tekst tilbage til den oprindelige streng.

Hvad gør URL-afkodning?

URL-afkodning fjerner den escape-kodning, der bruges til at overføre mellemrum, tegnsætning og andre bytes via URL'er og andre definerede syntakser med procentkodning. Ved procentkodning repræsenteres en byte af et procenttegn efterfulgt af to hexadecimale cifre. URL-kodning af formulardata bruger desuden + som mellemrum. Et mellemrum kan eksempelvis skrives som %20 og et og-tegn som %26.

Her er et kort eksempel før og efter afkodning:

Kodet input: red%20%26%20blue

Afkodet output: red & blue

Denne kodning er nødvendig, fordi visse tegn har en strukturel betydning i en URL. Et spørgsmålstegn markerer begyndelsen på URL'ens forespørgselsdel, mens et bogstaveligt og-tegn normalt adskiller felter i formularkodede forespørgselsdata. Ved at kode tegnene kan et program i stedet behandle dem som data.

URL-kodning er ikke kryptering og beskytter ikke oplysninger mod indsigt. Alle, der kan læse den kodede værdi, kan også afkode den. Betragt derfor ikke procentkodede adgangskoder, adgangstokens eller personoplysninger som beskyttede data.

Diagram: tekst går gennem værktøjet URL-afkoder i begge retninger

Hvordan bruger jeg URL-afkoderen?

Indsæt eller skriv den kodede tekst, behandl den, og se derefter den gendannede værdi i resultatfeltet URL-afkodet. Værktøjet bruger PHP-funktionen urldecode, så det konverterer gyldige %HH-sekvenser og fortolker et plustegn som et mellemrum.

  1. Kopiér den kodede komponent, for eksempel værdien af en forespørgselsparameter.
  2. Indtast den URL-kodede værdi uden anførselstegn, medmindre tegnene faktisk er en del af værdien.
  3. Behandl URL-inputtet, og kontrollér resultatet i URL-afkodet.
  4. Hvis outputtet stadig indeholder sekvenser som %2F eller %20, skal du undersøge, om kilden er blevet kodet mere end én gang, før du afkoder den igen.
Værktøjet URL-afkoder på digily.link med dets inputformular

Behandlingen foregår på serveren. Dit input sendes til serveren via HTTPS og gemmes ikke, men det forlader din enhed under behandlingen. Undgå at indsætte hemmelige oplysninger i denne URL-afkoder, medmindre serverbaseret behandling er egnet til de pågældende data.

Hvor bruges URL-kodning?

Du møder oftest URL-kodning i forespørgselsstrenge, formularindsendelser og værdier, der er indlejret i links. Den bruges også flere mindre oplagte steder, hvor data skal overføres gennem et begrænset tekstformat.

  • Forespørgselsstrenge: En søgning efter "tea & cake" kan se sådan ud: q=tea+%26+cake.
  • Data-URI'er: Tekstdata kan procentkodes efter medietypen, men Base64 er en anden almindelig repræsentation.
  • E-maillinks: Et mailto-link kan kode mellemrum, linjeskift og tegnsætning i parametrene for emne eller brødtekst. MIME-overførselskodninger, der bruges inde i en e-mail, er separate formater.
  • JSON-data: JSON har sine egne escape-regler, men en JSON-streng kan indeholde en allerede kodet URL eller forespørgselsværdi, som skal afkodes separat.
  • Internationaliserede domæner: Domæneetiketter med tegn uden for ASCII bruger normalt Punycode frem for procentkodning. Sti- og forespørgselskomponenter kan dog stadig indeholde procentkodede UTF-8-bytes.

Hvis den kodede tekst er en domæneetiket, der begynder med xn--, skal du bruge IDN Punycode konverter. En URL-afkoder er beregnet til procentkodede URL-komponenter, ikke til konvertering af Punycode.

Eksempel på et resultat fra værktøjet URL-afkoder

Eksempler på URL-afkodning

De følgende eksempler viser almindelige URL-kodede input og den tilhørende afkodede tekst.

  • hello%20world bliver til hello world.
  • name=Tom+Jones bliver til name=Tom Jones.
  • fish%26chips bliver til fish&chips.
  • %C2%A3 bliver til £, når bytene repræsenterer UTF-8-tekst.
  • %E6%9D%B1%E4%BA%AC bliver til 東京, når værdien fortolkes som UTF-8.
  • 100%25 bliver til 100%.

Almindelige bogstaver, tal og tegnsætning, der ikke er kodet, forbliver som regel uændrede. Et tomt input giver et tomt resultat i URL-afkodet. Meget lange input følger de samme afkodningsregler, men browsere, servere og modtagende systemer kan have deres egne grænser for længden af forespørgsler eller URL'er.

Tegn med accent og tegn fra ikke-latinske skriftsystemer kodes normalt som en sekvens af UTF-8-bytes, hvor hver byte skrives separat. Hvis det oprindelige system brugte en anden tegnkodning, kan de afkodede bytes blive vist som erstatningstegn eller som tilsyneladende meningsløs tekst.

Hvorfor mislykkes URL-afkodningen eller giver ulæselig tekst?

URL-afkodning kan give et uændret eller uventet output, hvis inputtet indeholder ufuldstændige procentsekvenser, er blevet kodet flere gange, fortolkes med det forkerte tegnsæt eller slet ikke består af URL-kodede data. PHP-funktionen urldecode lader ugyldige procentsekvenser stå uændret, mens dobbeltkodet input giver et mellemresultat efter første gennemløb. Undersøg den oprindelige kilde, før du afkoder gentagne gange.

  • Dobbeltkodet input: %2520 afkodes først til %20 og bliver kun til et mellemrum efter endnu en afkodning. Afkod kun igen, når du ved, at der findes endnu et kodningslag.
  • Ufuldstændig procentsekvens: Hver kodet byte kræver to hexadecimale cifre. Et afsluttende % eller en værdi som %2 er ugyldig og kan ikke repræsentere en fuldstændig kodet byte, så PHP-funktionen urldecode lader den stå uændret.
  • Forkert tegnkodning: Procentafkodning gendanner bytes. Hvis ISO-8859-1-bytes eksempelvis fortolkes som UTF-8, kan resultatet blive ulæseligt, selvom procentsekvenserne var gyldige.
  • Binære data i stedet for tekst: De afkodede bytes kan repræsentere et billede, en komprimeret fil eller andet binært indhold. Et sådant output forventes ikke at kunne vises som læsbar tekst.
  • Forkert kodningstype: Hvis det URL-afkodede resultat efterfølgende sendes til en Base64 dekoder, kan afkodningen mislykkes på grund af forskellen mellem standardalfabetet og det URL-sikre alfabet, manglende =-udfyldning eller beskadiget input. Procentkodning af URL'er har ingen udfyldning og bruger ikke et Base64-alfabet. URL-afkodning hverken validerer eller reparerer disse Base64-problemer.

Vær opmærksom på bogstavelige plustegn. I formularkodede URL-data betyder + et mellemrum. Et egentligt plustegn bør normalt kodes som %2B før afkodningen.

Ofte stillede spørgsmål

Skal jeg afkode hele URL'en eller kun en del af den?

Afkod så vidt muligt det enkelte stisegment eller værdien af den relevante forespørgselsparameter. Hvis du afkoder en hel URL, kan kodede reserverede tegn som %26, %3F eller %2F blive omdannet til skilletegn og ændre den måde, URL'en fortolkes på.

Kan URL-afkodning håndtere hexadecimale koder med små bogstaver?

Ja. Der skelnes ikke mellem store og små hexadecimale cifre i procentsekvenser, så %2f og %2F repræsenterer den samme byte. Sekvenser med både store og små bogstaver er også gyldige.

Afkoder værktøjet den samme værdi flere gange?

Nej. Et kald til urldecode udfører ét afkodningsgennemløb. Hvis %252F bliver til %2F, kræver det endnu et gennemløb at få en skråstreg. Gentagen afkodning kan dog ændre data, der skulle indeholde en bogstavelig procentsekvens.

Kan URL-afkodning gendanne beskadiget tekst?

Nej. URL-afkodning kan fjerne gyldig procentkodning, men kan ikke genskabe manglende hexadecimale cifre eller med sikkerhed fastslå det oprindelige tegnsæt. Kontrollér kildesystemet, HTTP-headerne eller dokumentationen, hvis de afkodede bytes ikke vises korrekt.

Hvad gør jeg med en værdi, der begynder med xn--?

Behandl den som en Punycode-domæneetiket og ikke som almindelig procentkodet tekst. Brug IDN Punycode konverter, og kontrollér derefter det resulterende domæne omhyggeligt, fordi Unicode-tegn, der ligner hinanden, kan tilhøre forskellige skriftsystemer.

Lignende værktøjer

URL-koder

Kod enhver streng til URL-format med vores URL-kodningsværktøj for sikre webadresser.

4,796
40

Populære værktøjer