Base64

encode · decode · UTF-8
$

The decoder accepts both alphabets, with or without padding, ignores whitespace and reports which alphabet it recognised; the URL state holds only the options, never the text.