K
Kless
Does ruby core has any method to create a Base64 for URL variant?
---------
Using a URL-encoder on standard Base64, however, is inconvenient as it
will translate the '+' and '/' characters into special percent-encoded
hexadecimal sequences ('+' = '%2B' and '/' = '%2F'). When this is
later used with database storage or across heterogeneous systems, they
will themselves choke on the '%' character generated by URL-encoders
(because the '%' character is also used in ANSI SQL as a wildcard).
For this reason, a modified Base64 for URL variant exists, where no
padding '=' will be used, and the '+' and '/' characters of standard
Base64 are respectively replaced by '-' and '_', so that using URL
encoders/decoders is no longer necessary and has no impact on the
length of the encoded value, leaving the same encoded form intact for
use in relational databases, web forms, and object identifiers in
general.
---------
Using a URL-encoder on standard Base64, however, is inconvenient as it
will translate the '+' and '/' characters into special percent-encoded
hexadecimal sequences ('+' = '%2B' and '/' = '%2F'). When this is
later used with database storage or across heterogeneous systems, they
will themselves choke on the '%' character generated by URL-encoders
(because the '%' character is also used in ANSI SQL as a wildcard).
For this reason, a modified Base64 for URL variant exists, where no
padding '=' will be used, and the '+' and '/' characters of standard
Base64 are respectively replaced by '-' and '_', so that using URL
encoders/decoders is no longer necessary and has no impact on the
length of the encoded value, leaving the same encoded form intact for
use in relational databases, web forms, and object identifiers in
general.