Gratis omformer

URL-koder / Dekoder

Kod og dekod URL-er og URI-komponenter umiddelbart i nettleseren din. Gratis, privat og ingen opplasting nødvendig.

Eller

Om dette verktøyet

URL-koding (formelt prosentkoding, definert i RFC 3986) oversetter tegn som har spesiell betydning i URL-er – mellomrom, skråstreker, og-tegn – til en sikker form ved å bruke prosenttegn etterfulgt av sekskantede sifre. Mellomromstegnet blir %20 (eller + i formkodede kontekster), og-tegnet blir %26, og så videre. Uten denne kodingen vil spesialtegn bli tolket som URL-syntaks i stedet for som bokstavelige data, bryte URL-en eller forårsake utilsiktet oppførsel.

Det finnes to beslektede, men distinkte kodinger. Standard URL-komponentkoding bruker %-escapes for alt utenfor det ureserverte tegnsettet: A-Z, a-z, 0-9, bindestrek, understrek, punktum, tilde. Den skjemakodede varianten (application/x-www-form-urlencoded) behandler i tillegg mellomrom som plusstegn og bruker forskjellige regler for noen andre tegn. JavaScripts encodeURIComponent bruker den strenge komponentkodingen; encodeURI bruker en mer tillatende form som bevarer URL-strukturtegn.

Dette verktøyet tilbyr både koding og dekoding. Kodemodus bryter hvert tegn som krever escape i %HH-format; dekodemodus reverserer transformasjonen. Begge kjører helt i nettleseren din ved hjelp av innebygde JavaScript URL-funksjoner, så ingen data sendes noe sted.

Hvorfor kode eller dekode nettadresser

Hver gang data er inkludert i en URL – spørringsstrengparametere, banesegmenter som inneholder brukerinndata, omdirigeringsmål – kreves riktig koding. Unnlatelse av å kode produserer nettadresser som brytes når spesialtegn vises, lekker parametergrenser til spørrestrenger (gjør &x=1 om til en egen parameter), eller blir blokkert av nettservere som misformede forespørsler.

Dekoding er det omvendte: trekke ut de originale dataene fra en kodet URL. Nettleserens adresselinjer viser ofte URL-er i kodet form; dekoding avslører hva som egentlig var meningen. Logging, feilsøking og sikkerhetsanalyse drar nytte av dekodede URL-er som viser de originale parameterne og banene.

Slik bruker du det

Lim inn en streng, velg retning.

  1. Velg kode eller dekode: Encode bryter usikre tegn i %HH-format. Dekode reverserer %HH escapes tilbake til bokstavelige tegn.
  2. Legg til inndatatekst: Lim inn strengen for å kode eller dekode. For koding er dette vanligvis en bokstavelig verdi med mellomrom, spesialtegn eller ikke-ASCII-innhold. For dekoding er dette en URL- eller URL-komponent som inneholder %HH-escapes.
  3. Konverter: Verktøyet bruker encodeURIComponent eller decodeURIComponent. Kodet utdata er trygt å bygge inn i en URL; dekodet utgang er den opprinnelige bokstavelige verdien.
  4. Kopier eller last ned: Bruk resultatet der du trenger det. Kodede verdier passer inn i URL-er; dekodede verdier avslører de originale dataene.

Vanlige brukstilfeller

Tekniske detaljer

encodeURIConponent koder hvert tegn utenfor det ureserverte settet [A-Za-z0-9-_.~]. Mellomrom blir %20, plusstegn blir %2B, likhetstegn blir %3D, og ​​så videre. Tegn utenfor ASCII blir først kodet i UTF-8, og deretter blir hver byte %-escaped.

encodeURI er mer tillatende og er ment for fullstendige URL-er i stedet for komponenter. Den unnslipper ikke /, ?, &, =, # og noen få andre fordi disse tegnene har URL-syntaksbetydning. For å bygge inn brukerdata i en URL, er encodeURIComponent nesten alltid det riktige valget.

decodeURIComponent reverserer %-escapes, og validerer at hver escape er velformet og at de resulterende bytene danner gyldig UTF-8. Feilformat inndata gir en feil i stedet for å produsere søppel.

Beste praksis

Ofte stilte spørsmål

Hvilke tegn trenger URL-koding?
Reserverte tegn (&, =, ?, #, /, :, @) og usikre tegn (mellomrom, <, >, {, }, |, ^, ~, [, ], `) må kodes. Alfanumeriske tegn og -_.~ er trygge og trenger ikke koding.
Hva er forskjellen mellom encodeURI og encodeURIConponent?
encodeURI koder for en fullstendig URL, men beholder reserverte tegn (://?#). encodeURIComponent koder alt unntatt -_.!~*'() — bruk den for spørringsparameterverdier. Dette verktøyet tilbyr begge modusene.
Hvordan er mellomrom kodet i URL-er?
Mellomrom kan kodes som %20 (standard prosentkoding) eller + (formkoding). %20 er riktig for URL-baner, mens + brukes i søkestrenger fra HTML-skjemaer. Dette verktøyet bruker %20 som standard.
Kan jeg kode Unicode-tegn?
Ja. Unicode-tegn kodes først til UTF-8 byte, deretter blir hver byte prosentkodet. For eksempel blir '日' %E6%97%A5 (tre UTF-8 byte, hver prosentkodet).
Bør jeg bruke encodeURI eller encodeURIConponent?
Nesten alltid encodeURIComponent. Bruk encodeURI bare hvis du har en fullstendig URL og ønsker å bevare strukturen – vanligvis sjelden siden du uansett bygger URL-er fra komponenter.
Er dataene mine lastet opp til en server?
Nei. URL-koding og -dekoding skjer utelukkende i nettleseren din.
Håndterer den Unicode-emoji?
Ja. Emoji er multi-byte UTF-8-sekvenser; koderen produserer en kjede av %-escaped byte som dekodere setter sammen tilbake til den opprinnelige emojien.
Hva om inndataene mine har %HH-lignende strenger som faktisk ikke er kodet?
Koding gjør hver % til %25, og bruker deretter escape på nytt for resten. Dekoding av strenge input kaster feil på misformede escapes; tvetydig utseende strenger kan dekode feil.