URL-koder og -dekoder

Procentkod tekst til URL'er og query-strenge, afkod kodede URL'er, og opdel en hvilken som helst URL i dens dele med afkodede query-parametre.

Kører i din browserIngen tilmeldingIntet uploades

Kodet

Sådan bruger du URL Encode / Decode

  1. Vælg Kod eller Afkod.
  2. Ved kodning vælger du Komponent til en enkelt query-værdi eller et stisegment, Fuld URL for at bevare URL'ens struktur eller Formulardata til application/x-www-form-urlencoded.
  3. Indsæt din tekst. Resultatet vises med det samme; fejlformede escapes rapporteres med deres position.
  4. Indsæt en komplet URL i URL-parseren for at se dens host, sti, fragment og hver query-parameter afkodet.

Hvad er URL-kodning?

URL'er må kun indeholde et begrænset sæt ASCII-tegn (RFC 3986). Alt andet, herunder mellemrum, ikke-engelske bogstaver som æ, ø og å og tegn med særlig betydning som &, ? og #, skrives som et procenttegn efterfulgt af to hex-cifre for hver UTF-8-byte. Et mellemrum bliver til %20, og é bliver til %C3%A9.

encodeURIComponent vs. encodeURI

FunktionLader væreBruges til
encodeURIComponentA-Z a-z 0-9 - _ . ~En enkelt query-værdi, et stisegment eller et parameternavn
encodeURIOgså : / ? # [ ] @ ! $ & ' ( ) * + , ; =En hel URL, hvis struktur skal bevares

At bruge encodeURI på en query-værdi er en klassisk fejl: et & i værdien escapes ikke, så det deler parameteren i to. Værktøjets Komponent-tilstand escaper også ! ' ( ) * for streng overholdelse af RFC 3986.

%20 eller + for mellemrum?

I stier skal et mellemrum være %20. I HTML-formularindsendelser (application/x-www-form-urlencoded) og mange query-strenge skrives et mellemrum som +. Ved afkodning slår du Behandl + som mellemrum til for formulardata og fra, når et bogstaveligt plustegn har betydning, f.eks. i jane+test@example.com.

Ofte stillede spørgsmål

Hvorfor får jeg “Fejlformet escape” ved afkodning?
Et % skal efterfølges af præcis to hex-cifre. Et bogstaveligt procenttegn, som i “50 % rabat”, skulle have været kodet som %25. Fejlen viser positionen for den forkerte sekvens.
Hvad betyder “Ugyldig UTF-8-bytesekvens”?
Bytene var ikke kodet som UTF-8, ofte fordi teksten blev lavet af et ældre system, der brugte Latin-1 (f.eks. %E9 for é i stedet for %C3%A9), eller fordi strengen blev skåret over midt i et tegn.
Skal jeg kode hele URL'en eller kun parametrene?
Kod hvert parameternavn og hver værdi for sig med komponentkodning, og sæt dem derefter sammen med = og &. Hvis du koder en komplet URL i komponenttilstand, escapes :// også, og URL'en går i stykker.
Er dobbeltkodning et problem?
Ja. Hvis du koder en allerede kodet streng, bliver %20 til %2520. Hvis du ser %25 efterfulgt af hex-cifre, er værdien sandsynligvis kodet to gange. Afkod den to gange for at få originalen tilbage.

Relaterede værktøjer