URL Encoder and Decoder

I-convert ang teksto sa URL format at i-decode ang mga URL string

Subukan ang mga halimbawa na ito:

About URL Encoding

Ang URL encoding, na kilala rin bilang percent-encoding, ay isang mekanismo para sa pag-encode ng impormasyon sa isang Uniform Resource Identifier (URI). Ginagamit ito upang i-convert ang mga karakter na hindi pinapayagan sa isang URL sa isang format na maaaring maipadala sa Internet. Pinalitan ng encoding na ito ang mga unsafe na ASCII character ng "%" kasunod ang dalawang hexadecimal na digit.

Karaniwang Paggamit ng URL Encoding

  • Pag-format ng query strings sa mga URL
  • Pagpapadala ng form data sa pamamagitan ng HTTP requests (application/x-www-form-urlencoded)
  • Paglikha ng valid na mga URL na may special characters o spaces
  • Pag-encode ng mga non-ASCII na karakter sa mga URL
  • Pagpapasa ng mga complex na parameter sa APIs at web services

Paano Gumagana ang URL Encoding

Ang pag-encode ng URL ay sumusunod sa mga prinsipyong ito:

  • Nanatiling hindi nagbabago ang mga alphanumeric na karakter (A-Z, a-z, 0-9)
  • Ang mga special characters tulad ng space, ?, &, =, %, + ay kino-convert sa kanilang percent-encoded na katumbas
  • Bawat byte ng isang UTF-8 encoded na karakter ay percent-encoded nang hiwalay
  • Maaaring i-encode ang space character bilang "%20" o "+" (sa query parameters)
  • Ang mga reserved characters tulad ng /, :, ?, #, [ ay may espesyal na kahulugan sa mga URL at maaaring tratuhin nang iba depende sa kanilang konteksto

encodeURI vs encodeURIComponent

Nagbibigay ang JavaScript ng dalawang function para sa URL encoding:

  • encodeURI: Nag-e-encode ng kumpletong URI, pinapanatili ang mga karakter na bahagi ng syntax ng URI (tulad ng /:?#[]@!$&'()*+,;=)
  • encodeURIComponent: Nag-e-encode ng isang URI component (tulad ng halaga ng query parameter), nag-e-encode ng mas maraming karakter kabilang ang mga may espesyal na kahulugan sa isang URI

Para sa karamihan ng mga kaso kapag nag-e-encode ng input ng user o query parameters, encodeURIComponent() ay ang mas ligtas na opsyon dahil tinitiyak nito na lahat ng posibleng problemadong karakter ay maayos na na-encode.

URL Encoding para sa mga International na Karakter

Ang mga modernong browser ay nag-e-encode ng mga non-ASCII na karakter gamit ang UTF-8 encoding at pagkatapos ay percent-encode ang bawat byte. Tinitiyak nito na ang mga international na karakter, emojis, at iba pang Unicode na simbolo ay maayos na maisasama sa mga URL. Halimbawa, ang Japanese na karakter na "日" ay unang na-UTF-8 encode bilang tatlong byte (E6 97 A5) at pagkatapos ay percent-encode bilang "%E6%97%A5".

Examples

Plain TextURL Encoded
Hello WorldHello%20World
https://example.com/?q=search termhttps%3A%2F%2Fexample.com%2F%3Fq%3Dsearch%20term
50% off sale!50%25%20off%20sale%21
Smith & Jones LLCSmith%20%26%20Jones%20LLC