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.
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: ! ' ( ) * - . _ ~
| Stafur | encodeURIComponent | encodeURI |
|---|---|---|
(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.