Component percent encoding is context-specific
This operation encodes UTF-8 component data. A slash becomes %2F, a plus becomes %2B, and a space becomes %20.
The output is plain text from exactly one encodeURIComponent pass. Unpaired UTF-16 surrogates fail instead of being silently replaced.