Base64.urlsafe_encode64
converts +
and /
to -
and _
but leaves =
, &
and ?
as is. My understanding is that =
is used as a delimiter between a parameter key and a value, and should cause conflict if used in url. Also, &
and ?
are used to separate the parameters. Why is this not a problem in base 64? Why are =
, &
and ?
left unconverted?
Edit I seem to be have been confused, but now I understand. =
, &
and ?
are safe as url, but not safe to be used within each component of the url (path, parameter key, parameter value). Then, is there a concept/method that makes a string safe to appear within these components of url (path, parameter key, parameter value)? If there is such concept, what is it called (i.e., something like "url safe", but not exactly it)?