tigtools

URL-koder / -dekoder

Kod tekst for bruk i en URL, eller gjør escape-koder som %20 om til lesbar tekst. Velg Komponent for én enkelt verdi eller Full URL for en hel adresse.

Kjører i nettleseren din Ingen registrering

Retning
Hva er det du koder?

Komponent (encodeURIComponent) koder alt unntatt bokstaver, sifre og - _ . ! ~ * ' ( ). Bruk det for én spørringsverdi, ett skjemafelt eller ett banesegment.

Slik bruker du det

  1. Velg Kode eller Dekode.
  2. Velg Komponent for én enkelt verdi (for eksempel én søkeparameter) eller Full URL for en hel adresse.
  3. Skriv eller lim inn teksten din. Resultatet vises umiddelbart til høyre (eller under på mobil).
  4. Kopier resultatet, eller bruk «Bruk utdata som inndata» for å reversere operasjonen og kontrollere rundturen.

Slik fungerer det

URL-er kan bare inneholde et begrenset sett med ASCII-tegn. Alt annet, inkludert mellomrom, aksenttegn og emoji, skrives som prosentkoder: tegnet konverteres til UTF-8-byter, og hver byte blir % etterfulgt av to heksadesimale sifre. Et mellomrom blir %20, é blir %C3%A9 og € blir %E2%82%AC.

Komponentmodus bruker JavaScripts encodeURIComponent og decodeURIComponent. Den koder alle tegn som har spesiell betydning i en URL, inkludert / ? # & = + : og @, slik at resultatet trygt kan plasseres inne i en spørringsverdi eller ett enkelt banesegment. Den lar bare A–Z, a–z, 0–9 og - _ . ! ~ * ' ( ) være uendret.

Full URL-modus bruker encodeURI og decodeURI. Den antar at inndata allerede er en fullstendig URL og lar de reserverte tegnene ; , / ? : @ & = + $ # være urørt, slik at adressen fortsetter å virke. Ved dekoding lar decodeURI også koder av disse reserverte tegnene være i fred: %2F forblir %2F, fordi å gjøre det om til / ville endre betydningen av URL-en.

Alternativet for skjemadata følger application/x-www-form-urlencoded, formatet nettlesere bruker når de sender HTML-skjemaer: et mellomrom skrives som + i stedet for %20. Når du dekoder med dette alternativet, blir hver + til et mellomrom; et ekte plusstegn må da skrives som %2B.

Ugyldige inndata blir aldri forkastet. Hvis et % ikke etterfølges av to heksadesimale sifre, eller en sekvens med koder ikke utgjør gyldig UTF-8, viser verktøyet hvor problemet er og beholder teksten din slik at du kan rette den.

Eksempler

Sette en verdi inn i en spørrestreng

For å søke etter «Rock & Roll» på https://example.com/search?q=…, koder du bare verdien i komponentmodus: Rock%20%26%20Roll. Uten koding ville &-tegnet avsluttet q-parameteren og startet en ny parameter kalt « Roll».

Fikse en URL med mellomrom og aksenttegn

I full URL-modus blir https://example.com/menu/crème brûlée.html til https://example.com/menu/cr%C3%A8me%20br%C3%BBl%C3%A9e.html. Skråstrekene og kolonet forblir som de er, slik at lenken fortsatt virker.

Lese loggførte skjemadata

En serverlogg viser name=Jane+Doe&city=S%C3%A3o+Paulo. Dekod den i komponentmodus med «Behandle + som mellomrom» slått på for å lese name=Jane Doe&city=São Paulo.

Ofte stilte spørsmål

Hva er forskjellen mellom encodeURI og encodeURIComponent?

encodeURIComponent koder tegnene som skiller URL-deler (/ ? # & = + : @ og andre), så den er ment for én del av en URL. encodeURI beholder disse tegnene, så den er ment for en fullstendig URL. Å bruke encodeURI på en spørringsverdi er en vanlig feil: et &- eller =-tegn inne i verdien ville ikke blitt kodet og ville ødelagt spørrestrengen.

Bør et mellomrom være %20 eller +?

I banen i en URL er mellomrom alltid %20. I en søkestreng kan begge forekomme: %20 er gyldig overalt, mens + betyr mellomrom bare i skjemakodede data (application/x-www-form-urlencoded), som er slik HTML-skjemaer og mange serverrammeverk leser søkestrenger. Er du usikker, bruk %20.

Hvorfor får jeg en feil ved dekoding?

Dekoding mislykkes når et %-tegn ikke følges av to heksadesimale sifre (for eksempel «50% off»), eller når bytene som er escape-kodet ikke er gyldig UTF-8, noe som vanligvis betyr at teksten ble kodet med et eldre tegnsett som Latin-1 (é som %E9 i stedet for %C3%A9). Feilmeldingen viser hvor problemet er.

Hvorfor ble ikke %2F til en skråstrek i Full URL-modus?

decodeURI beholder bevisst escape-kodene for reserverte tegn som / ? # & og =, fordi dekoding av dem kan endre hvordan URL-en deles opp i deler. Bruk Komponent-modus for å dekode alle escape-koder.

Hvilke tegn blir aldri kodet?

Begge modusene lar A–Z, a–z, 0–9 og - _ . ! ~ * ' ( ) være uendret. Full URL-modus lar i tillegg ; , / ? : @ & = + $ og # være uendret.

Personvern

Koding og dekoding kjøres helt i nettleseren din med de innebygde JavaScript-funksjonene. Teksten og URL-ene dine lastes ikke opp, lagres ikke og inkluderes ikke i statistikk.