URL Encoder at Decoder
I-percent-encode ang text para sa mga URL at query string, i-decode ang mga encoded na URL, at hatiin ang kahit anong URL sa mga bahagi nito kasama ang na-decode na query parameter.
Tumatakbo sa browser moWalang sign-upWalang ina-upload
Mga bahagi
Mga query parameter
Paano gamitin ang URL Encode / Decode
- Piliin ang I-encode o I-decode.
- Kapag nag-e-encode, piliin ang Component para sa iisang query value o path segment, Buong URL para mapanatili ang istruktura ng URL, o Form data para sa
application/x-www-form-urlencoded. - I-paste ang iyong text. Agad lumalabas ang resulta; iniuulat ang mga sirang escape kasama ang posisyon nila.
- Mag-paste ng kumpletong URL sa URL parser para makita ang host, path, fragment at bawat query parameter nito na na-decode.
Ano ang URL encoding?
Limitadong set lang ng ASCII character ang puwedeng ilagay sa URL (RFC 3986). Lahat ng iba, kasama ang mga space, letrang hindi English at mga character na may espesyal na kahulugan gaya ng &, ? at #, ay isinusulat bilang percent sign na sinusundan ng dalawang hex digit para sa bawat UTF-8 byte. Nagiging %20 ang space at nagiging %C3%A9 ang é.
encodeURIComponent vs. encodeURI
| Function | Hindi ginagalaw | Gamitin para sa |
|---|---|---|
encodeURIComponent | A-Z a-z 0-9 - _ . ~ | Iisang query value, path segment o pangalan ng parameter |
encodeURI | Pati : / ? # [ ] @ ! $ & ' ( ) * + , ; = | Buong URL na dapat manatili ang istruktura |
Klasikong bug ang paggamit ng encodeURI sa query value: hindi nae-escape ang & sa loob ng value, kaya nahahati sa dalawa ang parameter. Ine-escape din ng Component mode ng tool na ito ang ! ' ( ) * para sa mahigpit na pagsunod sa RFC 3986.
%20 o + para sa space?
Sa mga path, dapat %20 ang space. Sa mga HTML form submission (application/x-www-form-urlencoded) at maraming query string, isinusulat ang space bilang +. Kapag nagde-decode, i-enable ang Ituring ang + bilang space para sa form data, at i-disable ito kapag mahalaga ang literal na plus sign, gaya ng sa jane+test@example.com.
Mga madalas itanong
Bakit may “Sirang escape” kapag nagde-decode ako?
%. Ang literal na percent sign, gaya ng sa “50% off”, ay dapat na-encode bilang %25. Ipinapakita ng error ang posisyon ng maling sequence.Ano ang ibig sabihin ng “Invalid na UTF-8 byte sequence”?
%E9 para sa é sa halip na %C3%A9), o naputol ang string sa gitna ng isang character.Dapat ko bang i-encode ang buong URL o ang mga parameter lang?
= at &. Kapag na-encode ang buong URL sa component mode, mae-escape din ang :// at masisira ito.Problema ba ang double encoding?
%2520 ang %20. Kung makakita ka ng %25 na sinusundan ng hex digit, malamang dalawang beses na-encode ang value. I-decode ito nang dalawang beses para makuha ang orihinal.