跳到主要内容

base64编码

概述

Base64这个术语最初是在“MIME内容传输编码规范”中提出的,其本质上是一种“二进制转换到文本”的编码方式,它能够将任意二进制数据转换为ASCII字符串的形式,以便在只支持文本的环境中也能够顺利地传输二进制数据。

起源

由于早先的很多传输方式(比如邮件)只能传输可见的字符,不能传输不可见字符,比如控制字符等。以及很多的非文本的数据,其中的二进制数据也都不全是可见的字符。所以,需要有一种方式能够传输这种字符。在当时的环境下,最好的方案就是在不改变传统传输协议的前提下,做一种扩展方案来支持二进制文件的传送,也就是把这些不可打印字符用可打印字符标识,问题就解决了。这也就是base64编码所需要做的。

原理

base64编码的原理其实就是把原有的二进制数据先进行分节,每24位都为一节(不足24位要进行补全),然后再在这24位里每6位进行截断,分成4段,然后分别把这4段数据按照编码表进行匹配,并转化成相应的字符,就完成了编码的过程。解码同理,直接按照编码表进行还原就行了。

base64 编码表

应用

常用于在http和mime(多用途互联网邮件扩展类型)协议下传输数据。