Hva er dette verktøyet?
URL-koding (prosentkoding) erstatter tegn som ikke er tillatt i URL-er med en % etterfulgt av byteverdien i heksadesimal — et mellomrom blir %20, og 你 blir %E4%BD%A0. Uten dette ville tegn som mellomrom, &, ? og ikke-ASCII-tekst ødelegge URL-strukturen eller bli feiltolket av servere.
Det finnes to vanlige behov, og dette verktøyet støtter begge: å kode en verdi som skal inn i en spørreparameter (komponentmodus — koder også / ? & =), og å kode en hel URL mens strukturen beholdes (full-URL-modus — lar :// ? & stå urørt).
Én historisk kuriositet verdt å kjenne til: et mellomrom er korrekt %20 ifølge URL-standarden (RFC 3986), men HTML-skjemainnsendinger har tradisjonelt kodet det som et plusstegn i stedet — det er derfor du ser både q=hello%20world og q=hello+world i praksis, og hvorfor dekoding av skjemadata av og til krever at + håndteres separat.
Hvorfor bruke det?
- Bygg spørrestrenger trygt — brukerinput med &, = eller mellomrom ødelegger ikke URL-en din.
- Dekod lange kodede URL-er fra logger, analyse eller omdirigeringskjeder for å se hva de faktisk sier.
- Korrekt UTF-8-håndtering for kinesisk, emoji og annen ikke-ASCII-tekst.
- To modus slik at du ikke ved et uhell koder : og / i en hel URL.
- Gratis, umiddelbart, ingen opplasting.
Slik bruker du det
- Lim inn teksten eller URL-en din i inndatafeltet.
- Velg modus: «Komponent» for verdier som skal inn i spørreparametere, «Full URL» for hele URL-er.
- Klikk «Kod» eller «Dekod».
- Kopier resultatet.
Eksempel
Inndata
https://example.com/search?q=hello world & 你好Resultat
Komponentmodus: https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dhello%20world%20%26%20%E4%BD%A0%E5%A5%BD
Full URL-modus: https://example.com/search?q=hello%20world%20&%20%E4%BD%A0%E5%A5%BDKomponentmodus koder også strukturtegn; full-URL-modus bevarer dem.
Vanlige bruksområder
- Bygge en delbar URL der et søkeord eller filterverdi kommer fra brukerinput og kan inneholde mellomrom, & eller andre spesialtegn.
- Dekode en lang sporings- eller omdirigerings-URL fra en e-post eller annonsekampanje for å se den faktiske destinasjonen og parameterne før du klikker på den.
- Feilsøke hvorfor en spørreparameter ikke leses riktig av en server — ofte er synderen et reservert tegn som skulle vært kodet, men ikke ble det.
- Klargjøre en ikke-engelsk (kinesisk, japansk, arabisk osv.) verdi for bruk i en URL-spørrestreng.
encodeURIComponent versus encodeURI, i praksis
Disse tilsvarer direkte verktøyets to modus og korresponderer med reelle JavaScript-funksjoner utviklere allerede kjenner: encodeURIComponent (komponentmodus) koder alt unntatt et lite sett med ureserverte tegn, noe som gjør den trygg for enhver enkeltverdi som settes inn i en URL — dette er det du bruker for en spørreparameter, et stisegment eller en hash-fragmentverdi. encodeURI (full-URL-modus) lar URL-ens strukturtegn (:, /, ?, #, &, =) stå urørt fordi den forutsetter at du koder en hel, allerede strukturert URL, ikke en rå verdi — å bruke den på en enkelt parameterverdi ville mislykkes i å kode &- eller =-tegn verdien måtte inneholde, som er den vanligste feilen folk gjør når de velger feil modus.
Reserverte versus ureserverte tegn
URL-spesifikasjonen (RFC 3986) deler tegn inn i to grupper: ureserverte tegn (bokstaver, tall, - _ . ~) er alltid trygge og kodes aldri, mens reserverte tegn (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) har spesiell betydning i URL-strukturen og trenger bare kodes når de opptrer som bokstavelig data snarere enn strukturell tegnsetting. Dette er nettopp grunnen til at de to modusene finnes — komponentmodus behandler reserverte tegn som data som må beskyttes, full-URL-modus behandler dem som struktur som må bevares. Å forstå dette skillet er mer nyttig enn å pugge når du skal bruke hvilken modus, siden det forklarer hvorfor samme tegn (som &) noen ganger kodes og noen ganger ikke, avhengig av hvilken rolle det spiller i den aktuelle URL-en.
Ofte stilte spørsmål
Når bør jeg bruke komponentmodus fremfor full-URL-modus?
Komponentmodus (encodeURIComponent) når du koder en enkelt verdi som skal inn i en spørreparameter — den koder /, ?, & og = slik at de ikke kan ødelegge URL-en. Full-URL-modus (encodeURI) når du koder en hel URL — den beholder strukturtegnene slik at URL-en fortsatt fungerer.
Hvorfor viste det %20 i stedet for + for mellomrom?
Begge er gyldige i ulike sammenhenger. %20 er den universelle prosentkodingen for mellomrom; + betyr mellomrom bare inne i spørrestrenger som bruker det eldre application/x-www-form-urlencoded-formatet. Dette verktøyet bruker %20, som fungerer overalt.
Hvorfor feiler dekodingen med en feilmelding?
Inndataen inneholder en feilformet prosentsekvens, som en % som ikke etterfølges av to heksadesimale sifre. Dette skjer ofte når en URL er blitt kuttet av eller dobbeltdekodet. Rett opp eller fjern den ødelagte %-sekvensen.
Hva er dobbeltkoding?
Å kode tekst som allerede er kodet: %20 blir %2520 fordi selve % kodes til %25. Det er en vanlig feil — hvis den dekodede utdataen fortsatt inneholder %-koder, dekod én gang til.
Håndterer dette kinesiske tegn og emoji?
Ja. Tekst kodes som UTF-8-bytes, så 你好 blir %E4%BD%A0%E5%A5%BD og dekodes tilbake perfekt — samme oppførsel som nettlesere bruker.