Gratis konverter

URL-koder / Dekoder

Indkode og afkode URL'er og URI-komponenter med det samme i din browser. Gratis, privat og ingen upload nødvendig.

Eller

Om dette værktøj

URL-kodning (formelt procentkodning, defineret i RFC 3986) oversætter tegn, der har særlig betydning i URL'er - mellemrum, skråstreger, og-tegn, hash-tegn - til en sikker form ved hjælp af procenttegn efterfulgt af hex-cifre. Mellemrumstegnet bliver %20 (eller + i formularkodede sammenhænge), og-tegnet bliver %26, og så videre. Uden denne kodning ville specialtegn blive fortolket som URL-syntaks snarere end som bogstavelige data, bryder URL'en eller forårsager utilsigtet adfærd.

Der findes to relaterede, men forskellige kodninger. Standard URL-komponentkodningen bruger %-escapes for alt udenfor det ureserverede tegnsæt: A-Z, a-z, 0-9, bindestreg, understregning, punktum, tilde. Den formkodede variant (application/x-www-form-urlencoded) behandler desuden mellemrum som plustegn og bruger forskellige regler for nogle andre tegn. JavaScripts encodeURIComponent bruger den strenge komponentkodning; encodeURI bruger en mere tilladende form, der bevarer URL-strukturtegn.

Dette værktøj tilbyder både kodning og afkodning. Encode mode ombryder hvert tegn, der kræver escape i %HH-format; afkodningstilstand vender transformationen om. Begge kører udelukkende i din browser ved hjælp af indbyggede JavaScript URL-funktioner, så ingen data sendes nogen steder.

Hvorfor kode eller afkode URL'er

Hver gang data er inkluderet i en URL - forespørgselsstrengparametre, stisegmenter, der indeholder brugerinput, omdirigeringsmål - er korrekt kodning påkrævet. Manglende indkodning producerer URL'er, der går i stykker, når specialtegn vises, lækker parametergrænser til forespørgselsstrenge (ved at gøre &x=1 til en separat parameter) eller bliver blokeret af webservere som forkerte anmodninger.

Afkodning er det omvendte: udtrækning af de originale data fra en kodet URL. Browserens adresselinjer viser ofte URL'er i kodet form; afkodning afslører, hvad der egentlig var meningen. Logning, fejlretning og sikkerhedsanalyse har alle gavn af afkodede URL'er, der viser de originale parametre og stier.

Sådan bruger du det

Indsæt en streng, vælg retning.

  1. Vælg indkod eller afkod: Encode ombryder usikre tegn i %HH-format. Decode reverserer %HH escapes tilbage til bogstavelige tegn.
  2. Tilføj inputtekst: Indsæt strengen for at indkode eller afkode. For kodning er dette typisk en bogstavelig værdi med mellemrum, specialtegn eller ikke-ASCII-indhold. Til afkodning er dette en URL- eller URL-komponent, der indeholder %HH escapes.
  3. Konverter: Værktøjet anvender encodeURIComponent eller decodeURIComponent. Kodet output er sikkert at integrere i en URL; afkodet output er den oprindelige bogstavelige værdi.
  4. Kopiér eller download: Brug resultatet, hvor du har brug for det. Kodede værdier passer ind i URL'er; afkodede værdier afslører de originale data.

Almindelige anvendelsestilfælde

Tekniske detaljer

encodeURIConponent koder hvert tegn uden for det ureserverede sæt [A-Za-z0-9-_.~]. Mellemrum bliver til %20, plustegn bliver %2B, lighedstegn bliver til %3D og så videre. Tegn uden for ASCII kodes først i UTF-8 og derefter %-escapes hver byte.

encodeURI er mere eftergivende og er beregnet til fulde URL'er i stedet for komponenter. Det undslipper ikke /, ?, &, =, # og et par andre, fordi disse tegn har URL-syntaks betydning. Til indlejring af brugerdata i en URL er encodeURIComponent næsten altid det rigtige valg.

decodeURIComponent vender %-escapes og validerer, at hver escape er velformet, og at de resulterende bytes danner gyldig UTF-8. Forkert input kaster en fejl i stedet for at producere skrald.

Bedste praksis

Ofte stillede spørgsmål

Hvilke tegn har brug for URL-kodning?
Reserverede tegn (&, =, ?, #, /, :, @) og usikre tegn (mellemrum, <, >, {, }, |, ^, ~, [, ], `) skal kodes. Alfanumeriske tegn og -_.~ er sikre og behøver ikke kodning.
Hvad er forskellen mellem encodeURI og encodeURIConponent?
encodeURI koder en fuld URL, men bevarer reserverede tegn (://?#). encodeURIComponent koder alt undtagen -_.!~*'() — brug det til forespørgselsparameterværdier. Dette værktøj tilbyder begge tilstande.
Hvordan er mellemrum kodet i URL'er?
Mellemrum kan kodes som %20 (standard procentkodning) eller + (formkodning). %20 er korrekt for URL-stier, mens + bruges i forespørgselsstrenge fra HTML-formularer. Dette værktøj bruger %20 som standard.
Kan jeg kode Unicode-tegn?
Ja. Unicode-tegn kodes først til UTF-8 bytes, derefter bliver hver byte procentkodet. For eksempel bliver '日' %E6%97%A5 (tre UTF-8 bytes, hver procentkodet).
Skal jeg bruge encodeURI eller encodeURIConponent?
EncodeURIComponent næsten altid. Brug kun encodeURI, hvis du har en komplet URL og ønsker at bevare dens struktur - typisk sjældent, da du alligevel bygger URL'er fra komponenter.
Er mine data uploadet til en server?
Nej. URL-kodning og -afkodning sker udelukkende i din browser.
Kan den håndtere Unicode-emoji?
Ja. Emoji er multi-byte UTF-8 sekvenser; indkoderen producerer en kæde af %-escaped bytes, som dekodere korrekt samler tilbage til den originale emoji.
Hvad hvis mit input har %HH-lignende strenge, der faktisk ikke er kodet?
Kodning forvandler hver % til %25, hvorefter escaping genindsættes for resten. Afkodning af strenge input kaster fejl på misdannede escapes; tvetydigt udseende strenge kan afkode forkert.