Percent-encode or decode URLs and query strings.
encodeURIComponent
Encodes everything except A–Z a–z 0–9 - _ . ! ~ * ' ( ) — use for query-string values
encodeURI
Preserves URL structure chars like : / ? # & = @ — use for full URLs
Form-encoded
Spaces become +, rest is percent-encoded — used by HTML forms (application/x-www-form-urlencoded)