encodeURI / decodeURI: Encodes a complete URI but preserves characters that have special meaning in URLs (: / ? # etc.)
encodeURIComponent / decodeURIComponent: Encodes all special characters, including those with special meaning in URLs. Use this for encoding query parameter values.