简介
什么是 Base64 编码呢?在回答这个问题之前,我们需要了解一下计算机中文件的分类,对于计算机来说文件可以分为两类,一类是文本文件,一类是二进制文件。
对于二进制文件来说,其内容是用二进制来表示的,对于人类是不可立马理解的。如果你尝试用文本编辑器打开二进制文件,可能会看到乱码。这是因为二进制文件的编码方式和文本文件的编码方式是不一样的,所以当文本编辑器尝试将二进制文件翻译成为文本内容的时候,就会出现乱码。
对于文本文件来说,也有很多种编码方式,比如最早的 ASCII 编码和目前常用的 UTF-8 和 UTF-16 等编码方式。即使是文本文件,如果你使用不同的编码方式打开,也可能会看到乱码。
所以不管是文本文件还是二进制文件也好,都需要进行编码格式的统一。也就是说写入的编码是什么样子的,那么数据读取的编码也应该和其匹配。
Base64 编码实际上就是将二进制数据编码成为可视化 ASCII 字符的一种编码方式。
为什么会有这样的要求呢?
我们知道计算机世界的发展不是一蹴而就的,它是一个慢慢成长的过程,对于字符编码来说,最早只支持 ASCII 编码,后面才扩展到 Unicode 等。所以对于很多应用来说除了 ASCII 编码之外的其他编码格式是不支持的,那么如何在这些系统中展示非 ASCII code 呢?
解决的方式就是进行编码映射,将非 ASCII 的字符映射成为 ASCII 的字符。而 base64 就是这样的一种编码方式。
常见的使用 Base64 的地方就是在 web 网页中,有时候我们需要在网页中展示图片,那么可以将图片进行 base64 编码,然后填充到 html 中