UltKit

URL-kóðun og afkóðun

Gerðu texta öruggan til að setja í vefslóð, eða breyttu runum á borð við %20 aftur í læsilega stafi. Tólið notar innbyggðu föllin encodeURIComponent, encodeURI og decodeURIComponent í vafranum þínum, birtir fyrirspurnarbreytur í töflu og sendir ekkert á netþjón.

Stilling

0 stafir · 0 orð · 0 línur

0 stafir · 0 orð · 0 línur

Keyrir alfarið í þessum vafraflipa. Textinn þinn er aldrei sendur inn eða vistaður.

Hverju hvert fall undanskilur

Reiknað með föllum vafrans sjálfs. encodeURIComponent lætur bókstafi, tölustafi og þessi merki í friði: ! ' ( ) * - . _ ~

StafurencodeURIComponentencodeURI
(bil)%20%20
!!!
"%22%22
#%23#
$%24$
%%25%25
&%26&
'''
(((
)))
***
+%2B+
,%2C,
/%2F/
:%3A:
;%3B;
=%3D=
?%3F?
@%40@
[%5B%5B
]%5D%5D
{%7B%7B
}%7D%7D
|%7C%7C
\%5C%5C
^%5E%5E
`%60%60
<%3C%3C
>%3E%3E
~~~
---
___
...
é%C3%A9%C3%A9
€%E2%82%AC%E2%82%AC
😀%F0%9F%98%80%F0%9F%98%80

Prósentukóðun og fráteknir stafir í RFC 3986

Vefslóð (URL) má aðeins innihalda takmarkað safn ASCII-stafa. RFC 3986, staðallinn frá 2005 um setningafræði URI, skiptir þeim í tvo hópa. Óvarðir stafir (unreserved), A–Z, a–z, 0–9 og táknin fjögur - . _ ~, þarf aldrei að kóða. Varðir stafir (reserved) hafa sitt hlutverk: almennu aðgreinarnir : / ? # [ ] @ skilja að samskiptareglu, hýsil, slóð, fyrirspurn og brotamerki, og undiraðgreinarnir ! $ & ' ( ) * + , ; = skilja að atriði innan þeirra, eins og & og = gera í fyrirspurnarstreng. Alla aðra stafi, og alla varða stafi sem eru notaðir sem venjuleg gögn, verður að prósentukóða.

Prósentukóðun skrifar bæti sem % og síðan tvo sextándakerfisstafi. Texta er fyrst umbreytt í UTF-8, þannig að bil verður %20, é (tvö bæti) verður %C3%A9 og emoji-tákn verður fjórir %XX-hópar. Þess vegna endar leit að „café & bar“ í hlekk sem caf%C3%A9%20%26%20bar: & er kóðað svo þjónninn túlki það ekki sem upphaf nýrrar færibreytu.

encodeURIComponent, encodeURI og afkóðun

encodeURIComponent er rétti kosturinn fyrir stakan hluta, eins og gildi í fyrirspurn, slóðarhluta eða endurvísunarvefslóð sem er send sem færibreyta. Það kóðar allt nema óvarða stafi og ! ' ( ) *, sem JavaScript lætur í friði af sögulegum ástæðum. encodeURI (heil vefslóð) gerir ráð fyrir að inntakið sé þegar fullt vistfang og skilur varða stafi eftir óbreytta, þannig að í https://example.com/a b?q=1 er aðeins bilið kóðað. Að nota encodeURI á gildi færibreytu er klassísk villa: & eða # inni í gildinu situr eftir og brýtur vefslóðina.

Afkóða snýr hvoru tveggja við. HTML-eyðublöð sem eru send með GET nota eldra sniðið application/x-www-form-urlencoded, þar sem bil er skrifað sem + í stað %20. Hafðu Meðhöndla + sem bil hakað við fyrir slík gögn og taktu hakið af þegar plúsmerki skiptir máli, til dæmis í símanúmeri. Ef inntakið inniheldur % sem tveir sextándakerfisstafir fylgja ekki, eða bæti sem eru ekki gilt UTF-8, mistekst afkóðun með skýrum skilaboðum í stað þess að giska. Þegar textinn inniheldur fyrirspurnarstreng birtast færibreytur hans afkóðaðar í töflu fyrir neðan tólið. Fyrir tvíundargögn í vefslóðum er Base64url venjulegur valkostur.

Algengar spurningar

Á bil í vefslóð að vera %20 eða plúsmerki?
Í slóðum og samkvæmt RFC 3986 er bil %20. + táknar aðeins bil í fyrirspurnarstrengjum sem eru kóðaðir eins og HTML-eyðublöð kóða þá, svo %20 er öruggasti kosturinn alls staðar.
Hvers vegna endaði %2520 í vefslóðinni minni?
Það var kóðað tvisvar. Í fyrri umferð varð bil að %20 og í þeirri seinni var % sjálft kóðað sem %25. Afkóðaðu einu sinni til að afturkalla aukalagið og kóðaðu gildi aðeins á einum stað í kóðanum.
Hvaða stafi þarf aldrei að prósentukóða?
Óvarðir stafir samkvæmt RFC 3986: bókstafirnir A til Z bæði há- og lágstafir, tölustafirnir 0 til 9, og bandstrik, punktur, undirstrik og tilda.
Getur vefslóð innihaldið stafi utan enska stafrófsins án kóðunar?
Vafrar sýna þá, en á leiðinni er hver stafur utan ASCII í slóð eða fyrirspurn sendur sem prósentukóðað UTF-8. Lén nota sérstakt kerfi, Punycode, sem breytir þeim í xn--merki.
Hvers vegna segir afkóðunin að runa sé ógild?
Textinn inniheldur % sem tveir sextándakerfisstafir fylgja ekki, eins og „100%“, eða bætin afkóðast í ógilt UTF-8. Kóðaðu stök %-merki sem %25 áður en þú afkóðar.