Sådan bruger du det
- Vælg Kod eller Afkod.
- Vælg Komponent for en enkelt værdi (f.eks. én forespørgselsparameter) eller Fuld URL for en hel adresse.
- Skriv eller indsæt din tekst. Resultatet vises med det samme til højre (eller nedenunder på mobilen).
- Kopier resultatet, eller brug “Brug output som input” for at vende operationen om og kontrollere turen frem og tilbage.
Sådan fungerer det
URL'er må kun indeholde et begrænset sæt ASCII-tegn. Alt andet, herunder mellemrum, bogstaver med accenter og emoji, skrives som procentkodning: tegnet konverteres til UTF-8-byte, og hver byte bliver til % efterfulgt af to hexadecimale cifre. Et mellemrum bliver til %20, é bliver til %C3%A9, og € bliver til %E2%82%AC.
Komponenttilstand bruger JavaScripts encodeURIComponent og decodeURIComponent. Den erstatter alle tegn, der har en særlig betydning i en URL, herunder / ? # & = + : og @, så resultatet sikkert kan placeres i en forespørgselsværdi eller et enkelt stisegment. Kun A–Z, a–z, 0–9 og - _ . ! ~ * ' ( ) efterlades uændret.
Fuld URL-tilstand bruger encodeURI og decodeURI. Den antager, at inputtet allerede er en komplet URL, og efterlader de reserverede tegn ; , / ? : @ & = + $ # uberørte, så adressen fortsat virker. Ved afkodning lader decodeURI også kodninger af disse reserverede tegn være: %2F forbliver %2F, fordi en ændring til / ville ændre URL'ens betydning.
Formulardata-indstillingen følger application/x-www-form-urlencoded, det format browsere bruger, når de indsender HTML-formularer: et mellemrum skrives som + i stedet for %20. Når du afkoder med denne indstilling, bliver hvert + til et mellemrum; et ægte plustegn skal så skrives som %2B.
Ugyldigt input bliver aldrig smidt væk. Hvis et % ikke efterfølges af to hexadecimale cifre, eller en sekvens af kodninger ikke danner gyldig UTF-8, viser værktøjet, hvor problemet er, og beholder din tekst, så du kan rette det.
Eksempler
Indsæt en værdi i en forespørgselsstreng
For at søge efter “Rock & Roll” på https://example.com/search?q=… skal du kun indkode værdien i Komponenttilstand: Rock%20%26%20Roll. Uden indkodning ville & afslutte q-parameteren og starte en ny kaldet “ Roll”.
Ret en URL med mellemrum og accenter
I Fuld URL-tilstand bliver 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åstregerne og kolonet forbliver som de er, så linket stadig virker.
Læs logget formulardata
En serverlog viser name=Jane+Doe&city=S%C3%A3o+Paulo. Afkod den i Komponenttilstand med “Behandl + som mellemrum” slået til for at læse name=Jane Doe&city=São Paulo.
Ofte stillede spørgsmål
Hvad er forskellen mellem encodeURI og encodeURIComponent?
encodeURIComponent koder de tegn, der adskiller URL-dele (/ ? # & = + : @ og andre), så den er beregnet til en enkelt del af en URL. encodeURI bevarer disse tegn, så den er beregnet til en komplet URL. Det er en almindelig fejl at bruge encodeURI på en forespørgselsværdi: et & eller = inde i værdien ville ikke blive kodet og ville ødelægge forespørgselsstrengen.
Skal et mellemrum være %20 eller +?
I stien i en URL er et mellemrum altid %20. I en forespørgselsstreng kan begge dele forekomme: %20 er gyldigt overalt, mens + kun betyder mellemrum i formularindkodede data (application/x-www-form-urlencoded), hvilket er sådan HTML-formularer og mange server-frameworks læser forespørgselsstrenge. Er du i tvivl, så brug %20.
Hvorfor får jeg en fejl, når jeg afkoder?
Afkodning mislykkes, når et %-tegn ikke efterfølges af to hexadecimale cifre (f.eks. “50% off”), eller når de escape-kodede bytes ikke er gyldig UTF-8. Det betyder normalt, at teksten blev kodet med et ældre tegnsæt som Latin-1 (é som %E9 i stedet for %C3%A9). Fejlmeddelelsen viser problemets position.
Hvorfor blev %2F ikke til en skråstreg i tilstanden Fuld URL?
decodeURI bevarer bevidst escape-sekvenser for reserverede tegn som / ? # & og =, fordi afkodning af dem kunne ændre, hvordan URL'en opdeles i dele. Brug tilstanden Komponent for at afkode alle escape-sekvenser.
Hvilke tegn bliver aldrig kodet?
Begge tilstande lader A–Z, a–z, 0–9 og - _ . ! ~ * ' ( ) være uændret. Tilstanden Fuld URL lader desuden ; , / ? : @ & = + $ og # være uændret.
Privatliv
Kodning og afkodning kører udelukkende i din browser med de indbyggede JavaScript-funktioner. Din tekst og dine URL'er bliver ikke uploadet, gemt eller medtaget i analyse.