E.1 Base-64编码保证了二进制数据的安全

Base-64 编码可以将任意一组字节转换成较长的常见文本字符序列,从而可以合法地作为首部字段值。Base-64 编码将用户输入或二进制数据,打包成一种安全格式,将其作为 HTTP 首部字段的值发送出去,而无须担心其中包含会破坏 HTTP 分析程序的冒号、换行符或二进制值。

Base-64 编码是作为 MIME 多媒体电子邮件标准的一部分开发的,这样 MIME 就可以在不同的合法电子邮件网关之间传输富文本和任意的二进制数据了。1Base-64 编码与将二进制数据文本化表示的 uuencode 和 BinHex 标准在本质上很类似,但空间效率更高。MIME RFC 2045 的第 6.8 节详细介绍了 Base-64 算法。

1:有些邮件网关会悄悄地去除 ASCII 值在 0 ~ 31 之间的“非打印”字符。其他程序会将一些字节作为流量控制字符或其他特殊控制字符来解释,或将回车符转换成换行符之类的字符。有些程序在收到带有值大于 127 的国际字符时会出现致命的错误,因为其软件不是“8 位干净”(8-bitclean)的。