协慌网

登录 贡献 社区

base 64 编码用于什么?

我听说这里到那里都在谈论 “base 64 编码”。这有什么用途?

答案

当您有一些要通过网络传送的二进制数据时,通常不会仅通过以原始格式通过流传输位和字节来做到这一点。为什么?因为某些媒体是用于流文本的。您永远都不知道 - 有些协议可能会将二进制数据解释为控制字符(例如调制解调器),或者二进制数据可能被搞砸了,因为基础协议可能会认为您输入了特殊的字符组合(例如 FTP 如何转换行)结尾)。

因此,为了解决这个问题,人们将二进制数据编码为字符。 Base64 是这些编码类型之一。

为什么是 64?
因为您通常可以依赖于许多字符集中存在的相同 64 个字符,并且可以合理地确信数据将在没有损坏的情况下出现在线路的另一端。

这基本上是一种以 ASCII 文本编码任意二进制数据的方式。每 3 个字节的数据需要 4 个字符,最后可能还要填充一点。

基本上,输入的每 6 位均以 64 个字符的字母编码。 “标准” 字母使用 AZ,az,0-9 和 + 和 /,并带有 = 作为填充字符。有 URL 安全变体。

Wikipedia是更多信息的相当不错的来源。

Base-64 编码是一种获取二进制数据并将其转换为文本的方式,从而可以更轻松地在电子邮件和 HTML 表单数据等内容中进行传输。

http://en.wikipedia.org/wiki/Base64