Slik bruker du det
- Velg Kode eller Dekode.
- Velg Komponent for én enkelt verdi (for eksempel én søkeparameter) eller Full URL for en hel adresse.
- Skriv eller lim inn teksten din. Resultatet vises umiddelbart til høyre (eller under på mobil).
- 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.