Basically, base-64 it is a way to encode arbitrary binary data in ASCII text. It takes 4 characters per 3 bytes of data, plus probably a bit of padding at he end.
Essentially every six bits of the input are encoded in an alphabet of 64 characters. The "ordinary" alphabet uses the character A-Z, a-z, 0-9 and + and/or = as padding. The variants are URL-safe.
URL encoding is a method for encoding information in an Uniform Resource Identifier (URI), allowing ASCII character set to send URLs over the Internet. Since URLs frequently contain characters outside of the ASCII set, the URL must be translated into an ASCII format that is valid. URL encoding replaces unsafe ASCII characters with two hexadecimal digits followed by a "%".
The encoder / decoder for the URL is useful when passing a url as a query string. Although most browsers understand non-encoded URIs, this may lead to errors in validation.