如何解决如何转换 UTF8 Base64 字符串电子邮件标头?
我有很多来自电子邮件标头的 UTF8 Base64 字符串,如下所示:
=?Utf-8?B?RW5jb2RlZCBTdHJpbmc===?=
以上字符串应转换为:
Encoded String
这里有人知道如何使用 Javascript 解码这些类型的电子邮件标头吗?
我现在正在执行以下操作,但这太难看了,我需要像这样手动搜索和替换这些字符串的开头和结尾:
var string = '=?Utf-8?B?VVRGOC1CYXNlNjQtU3RyaW5n==?=';
var decoded = string.replace("=?Utf-8?B?","").replace("==?=","");
decoded = window.atob(decoded);
console.log(decoded);
document.getElementById('res').innerHTML = decoded;
<b>Encoded:</b><div>=?Utf-8?B?VVRGOC1CYXNlNjQtU3RyaW5n==?=</div>
<br>
<b>Decoded:</b><div id="res"></div>
function decodeBase64UTF8(from) {
if (from.includes('=?Utf-8?B?')) {
if (from.includes('?=')) {
from = window.atob(from.replace("=?Utf-8?B?","").replace("?=",""));
return from;
}
} else {
return from;
}}
该函数的演示在这里:https://jsfiddle.net/jarosciak/dmL7gnw6/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。