URL-koder og -afkoder
Gratis URL-koder og -afkoder. Procentkod forespørgselsparametre eller hele URL'er, afkod %XX-sekvenser, og behandl + som mellemrum. Kører i din browser.
Sådan bruger du URL-koderen og -afkoderen
- Vælg Kod for at omdanne tekst til en URL-sikker form, eller Afkod for at omdanne procentkodet tekst til læselige tegn igen.
- Ved kodning vælger du en tilstand: Komponent til en enkelt værdi (som en forespørgselsparameter eller et stisegment) eller Hel URL for at kode en komplet adresse og bevare dens opbygning.
- Når du afkoder data fra en HTML-formular eller en forespørgselsstreng, så slå Behandl + som mellemrum til, så
+-tegn bliver til mellemrum. - Indsæt din tekst, og kopiér resultatet. Hvis en procentsekvens er ugyldig, melder værktøjet en fejl i stedet for at gætte.
Hvad er URL-kodning?
URL’er må kun indeholde et begrænset sæt ASCII-tegn. Nogle tegn, som /, ?, #, & og =, er reserverede, fordi de adskiller delene af en adresse: stien, forespørgselsstrengen og fragmentet. Andre, som mellemrum, anførselstegn, bogstaver med accent eller emoji, er simpelthen ikke tilladt. URL-kodning, også kaldet procentkodning, løser begge problemer ved at erstatte hver problematisk byte med et % efterfulgt af to hexadecimale cifre.
Teksten omdannes først til UTF-8-bytes, og hver byte kodes for sig. Et mellemrum bliver til %20, et og-tegn bliver til %26, é (to byte i UTF-8) bliver til %C3%A9, og emojien 😀 (fire byte) bliver til %F0%9F%98%80. Ureserverede tegn, altså bogstaver, cifre og - _ . ~, skal aldrig kodes.
Komponent-tilstand eller hel URL
Det vigtigste valg er at vælge den rigtige tilstand, og at tage fejl er en klassisk kilde til fejl.
Komponent-tilstand virker som JavaScripts encodeURIComponent. Den koder alle reserverede tegn, så resultatet sikkert kan placeres inde i én del af en URL. Brug den til værdier af forespørgselsparametre, stisegmenter eller alt, en bruger har skrevet. For eksempel bliver søgeordet rock & roll til rock%20%26%20roll. Hvis du ikke havde kodet &, ville serveren læse roll som begyndelsen på en ny parameter.
Hel URL-tilstand virker som encodeURI. Den går ud fra, at input allerede er en komplet adresse, og bevarer de tegn, der giver den struktur, som : / ? # & og =, mens den koder mellemrum og tegn uden for ASCII. Brug den til at rydde op i en adresse som https://example.com/café menu?q=tea, så den bliver til https://example.com/caf%C3%A9%20menu?q=tea. Brug den ikke til enkeltstående værdier: et & inde i en værdi ville forblive ukodet og ødelægge forespørgselsstrengen.
En god tommelfingerregel: byg URL’er af dele, kod hver værdi i komponent-tilstand, og brug kun hel URL-tilstand til adresser, du modtager færdigsamlede.
Tegnet + og formularkodning
HTML-formularer, der sendes med application/x-www-form-urlencoded, koder mellemrum som + i stedet for %20. Derfor ser søge-URL’er ofte ud som ?q=hello+world. Almindelig procentafkodning lader + være uændret, fordi et plus i en sti blot er et plus. Når du afkoder en forespørgselsstreng eller formulardata, så slå Behandl + som mellemrum til for at få hello world. Lad den være slået fra til stier og til værdier, hvor et bogstaveligt + har betydning, som telefonnumre eller Base64-data. Et rigtigt plustegn i formulardata sendes som %2B, så det afkodes korrekt i begge tilfælde.
Privatliv
Kodning og afkodning kører helt i din browser. Intet, du indsætter, herunder URL’er, der kan indeholde tokens, sessions-id’er eller personoplysninger, sendes til en server eller gemmes.
Ofte stillede spørgsmål
Hvorfor mislykkes afkodningen med en fejl om ugyldig kodning?
Et % skal efterfølges af præcis to hexadecimale cifre, og de resulterende bytes skal danne gyldig UTF-8. Strenge som 100%, %G1 eller en afkortet sekvens som %E2%82 kan ikke afkodes pålideligt, så værktøjet melder problemet i stedet for at lave forkert tekst. Vil du have et bogstaveligt procenttegn med, så kod det som %25.
Hvad er forskellen på %20 og +?
Begge kan repræsentere et mellemrum, men i forskellige sammenhænge. %20 er gyldigt overalt i en URL. + betyder kun mellemrum i formularkodede forespørgselsstrenge; andre steder er det et bogstaveligt plustegn.
Skal jeg kode en hel URL i komponent-tilstand?
Kun hvis hele URL’en selv er en værdi inde i en anden URL, for eksempel en redirect=-parameter. I så fald er komponent-tilstand præcis det rigtige: https://a.com/?x=1 bliver til https%3A%2F%2Fa.com%2F%3Fx%3D1.
Hvorfor er min tekst kodet to gange?
Dobbeltkodning sker, når tekst, der allerede er kodet, kodes igen, så %20 bliver til %2520. Afkod én gang for at tjekke, og sørg for, at hver værdi kun kodes i det øjeblik, den sættes ind i URL’en.
Skjuler eller beskytter URL-kodning data?
Nej. Procentkodning kan fuldt ud føres tilbage og giver ingen sikkerhed. Følsomme værdier i URL’er kan ende i browserhistorik og serverlogfiler, så undgå overhovedet at lægge hemmeligheder i URL’er.
Relaterede værktøjer
- Base64-kodning og -afkodning Gratis Base64-kodning og -afkodning med fuld UTF-8-understøttelse og URL-sikker base64url. Kører helt i din browser, intet uploades.
- JSON-formatering og -validering Gratis JSON-formatering og -validering, der gør JSON pæn, minificerer og tjekker den i din browser, med syntaksfejl angivet med linje og kolonne.