URL parameter encrypting issue

I have a web page which is called from a link embedded in an email.
The URL to this web page has an encrypted email address as a URL parameter (needed for business logic, it can’t be a hash).
This URL parameter has equal symbols (=) in it as part of the encryption, which is breaking the URL name/value pattern

So I thought I would use the urlencode function to get around this issue, but this is not converting the “=” symbol to %3d?
When I introduce a space in the string the urlencode function is converting this correctly to %20, so I know this function is working

I know I can do a string replace to solve the issue manually, but thought urlencode should be taking care of this?

Am I on the right path with urlencode or am I missing something?
Am I correct in my assumption that the encryption output string is using base64 character set?

There are two js methods for encoding.
encodeURI() for complete URLs and encodeURIComponent() for parameters.

I believe wappler uses the first one for its encodeURL formatter. However this one will not encode = and other reserved symbols.

You will need to create a custom formatter with encodeURIComponent() or request it to be added.

Am I correct in understanding then that URL parameters can never be encrypted using out of the Wappler box components?
Seems to me that urlencode should be doing this job?

Are we dealing with base64 character set?

Yes.

No. UTF-8 escape sequences.

I have never done any custom formatter with encodeURIComponent(), can you point me in the right direction as to what is needed to do this, docs or tutorial?