Base64 allows you to encode the information represented by a set of bytes using only 64 symbols: A-Z, a-z, 0-9, /, +. At the end of the coded sequence, there may be several special characters (usually "=").
The idea of base64 is simple - reversible coding, with the possibility of recovery, which translates all the symbols of the eight-bit code table into symbols, guaranteed to be preserved when data is transferred in any networks and between any devices.
The algorithm is based on the reduction of three eights of bits (24) to four sixes (also 24) and the representation of these sixes as ASCII characters. Thus, we obtain reversible encryption, the only lack of which is the size increasing in coding - in the ratio 4:3
Benefits: Allows you to represent the sequence of any bytes in printed characters.
In comparison with other Base-encodings, this produces a result that is only 133. (3)% of the length of the original data.
Disadvantages: Register-independent encoding.
The base64 algorithm is still used today, where there is no way to ensure careful handling of your information - for example, when encoding e-mail attachments. In PGP, the base64 algorithm is used to encode binary data.
You can imagine other uses of base64 - for example, when saving to a database, if you do not know the environment in advance (oh, these magic_qoutes in PHP!) And there is no need to index and search the text, you can use base64.
Thunderbird and Mozilla, for example, used Base64 to hide passwords in POP3. Base64 is often used as a rational method in security to hide secrets.
For more information follow the links: Wikipedia, MDN web docs