【发布时间】:2021-01-31 11:51:52
【问题描述】:
我的理解是,最初的 SMTP 协议被定义为仅使用 7 位来限制字符的传输,以节省传输成本。
该协议已有将近 40 年的历史,从那时起,多个 RFC 扩展了标准。
出于兼容性原因,许多(如果不是大多数)8 位干净的现代服务器会将消息转换为“7 位兼容”格式,例如quoted-printable 或 base64。
所以从技术上讲,所有字符都是 7 位 ASCII。
然而,我的问题的症结是,即使数据以 7bit 友好的方式编码,这是否意味着 SMTP 服务器之间的物理比特传输是以 7bit 为单位发生的,还是以 8bits 发生的?
我的假设是它发生在 8 位中,即使数据是用 ASCII 编码的。这是正确的吗?
以下是我找到的一些相关链接:
>
http://cr.yp.to/smtp/8bitmime.html
>
https://www.ibm.com/support/knowledgecenter/en/SSB27U_6.4.0/com.ibm.zvm.v640.kiml0/smtmlfr.htm
>
https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol#8BITMIME
更新
我的问题的细化应该表述为:今天的 SMTP 服务器是否仍然清除高位,并仅使用低 7 位对 7 位 ASCII 进行编码,或者它们实际上是否使用完整的八位字节,从而赋予 MSB 意义?
【问题讨论】: