Component mode uses encodeURIComponent / decodeURIComponent for one query value or path segment, encoding structural characters such as /, ?, &, = and #. Complete URI mode uses encodeURI / decodeURI and preserves these separators, including their percent escapes when decoding; it does not validate whether a URL is reachable.
Spaces become %20; + remains a literal plus, not a form-encoded space. Unicode uses UTF-8. Letters, digits and - _ . ! ~ * ' ( ) remain unchanged.