题目链接:https://github.com/azl397985856/fe-interview/issues/3
什么是 Base64
Base64 是一种编码算法,允许你传输任何字符,而不只是 ascii 码。你可以用 Base64 传输任何数据,包括图片, 表情,视频等。从技术上讲,可以说它将 8 位字节转换为 6 位字节。
Base64 不是加密算法,在任何情况下都不应该用于“哈希”密码或“加密”敏感数据,因为它是一种可逆算法,编码数据可以很容易地解码。Base64 可能仅用于编码加密函数的原始结果。粗略地说,就信息安全而言,Base64 只是一种人们不理解的外语。然而,即使他们只需使用在线翻译即可立即返回原始信息,即可理解编码信息的含义。
为什么叫 Base64
最初,该算法被命名为“可打印编码”,并且仅在几年后,在 1992 年 6 月,RFC 1341 将其定义为“Base64”。由于该算法使用 64 个基本字符,因此给它起一个名字并不困难(特别是 Base85 已经存在)。因此,我认为猜测 Base16,Base32,Base36,Base58,Base91 或 Base122 等算法的名称意味着什么并不是问题。
Base64 Alphabet 包含 64 个基本 ASCII 字符,用于编码数据。64 个字符足以编码任何长度的任何数据。唯一的缺点是结果的大小将增加到 33%。