问题标签 [7-bit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - Multer Encoding Issue: localized text getting converted random character
I am using multer's upload.single to extract a csv file from request. When converting the buffer given by multer's upload fn to string, I observed localized text characters (like À) are getting converted to some random character( like � ).The encoding which multer uses is 7bit. Is there any way to get data in utf-8 encoding.
contentType: multipart/form-data; boundary=--------------------------685735458832809176548913
Multer's file details:
#xA;smtp - SMTP 是否传输 7 位或 8 位字符(是否清除 MSB?)
我的理解是,最初的 SMTP 协议被定义为仅使用 7 位来限制字符的传输,以节省传输成本。
该协议已有将近 40 年的历史,从那时起,多个 RFC 扩展了标准。
出于兼容性原因,许多(如果不是大多数)8 位干净的现代服务器会将消息转换为“7 位兼容”格式,例如quoted-printable 或 base64。
所以从技术上讲,所有的字符都是 7bit ASCII。
但是,我的问题的关键是,即使数据以 7bit 友好的方式编码,这是否意味着 SMTP 服务器之间的比特物理传输是以 7bit 为单位发生的,还是以 8bits 为单位发生的?
我的假设是它发生在 8 位,即使数据是用 ASCII 编码的。它是否正确?
以下是我找到的一些相关链接:
<< 用户每年发送数十亿条 8 位消息。据我所知,所有服务器都可以处理 8 位消息。几年前,我能够找到一些运行古老的 7 位版本 sendmail 的主机,但现在我看不到任何主机。>>
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
<< 这在实践中不会引起问题,因为几乎所有现代邮件中继都是 8 位干净的>>
https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol#8BITMIME
更新
我的问题的细化应该表述为:今天的 SMTP 服务器是否仍然清除高位,并仅使用低 7 位对 7 位 ASCII 进行编码,或者它们实际上是否使用完整的八位字节,从而对 MSB 有意义?