我无法理解这里发生了什么。我收到了一封带有以下UTF8编码主题行的电子邮件,我无法将其转换为以下编码。
未转化的: Переходнапрямыедоговорыузаконен!
转换: =?UTF-8?B?0J / QtdGA0LXRhdC + 0LQg0L3QsCDQv9GA0Y / QvNGL0LUg?= =?UTF-8?B?0LTQvtCz0L7QstC + 0YDRiyDRg9C30LDQutC + 0L3QtdC9IQ ==?=
你能帮我理解这里发生了什么吗?上面的MIME编码究竟是什么?转换为UTF8字符串与我上面看到的不一致。
答案 0 :(得分:0)
那些字符没有被 ascii 覆盖并以 UTF-8 编码。此外,电子邮件主题 MIME 编码是使用 UTF-8 (RFC2047) 完成的。
最简单的解决方案是使用 npm rfc2047 library。请参阅下面的示例代码。
const rfc2047 = require('rfc2047');
let subjectLine = "=?UTF-8?Q?Votre_demande_de?=\n =?UTF-8?Q?_a_=C3=A9t=C3=A9_approuv=C3=A9e!?=";
let frenchSubjectLine = rfc2047.decode(subjectLine);
console.log("FR subject line after decoding: [" + frenchSubjectLine + "]");
输出是
FR subject line after decoding: [Votre demande de a été approuvée!]