Javascript atob 没有正确解码 base64 字符串

Javascript atob is not decoding the base64 string properly

我正在尝试解码 javascript base64 字符串。编码后的字符串来自 dataUri。这是

<a href="data:application/octet-stream;charset=utf-16le;base64,//5mAG8AbwAgAGIAYQByAAoA">text file</a>

我正在尝试解码“//5mAG8AbwAgAGIAYQByAAoA”,它应该给出 "foo bar" 作为输出。当我单击锚标记时,它会按预期下载一个文件,其中包含相同的预期字符串 "foo bar" 。

如果我使用 atob('//5mAG8AbwAgAGIAYQByAAoA') 我得不到想要的输出

var a=atob('//5mAG8AbwAgAGIAYQByAAoA');
console.log(a);

我什至尝试将 "utf8" 作为第二个论点,但没有成功:(

如何从这个dataUri中提取原始编码字符串?谢谢:)

// 在函数 atob 中无效:它只会采用有效的 Base64 字符串,其中包含数字、字母,有时还包含 ==。先剥离那些然后 运行 它:

> atob('5mAG8AbwAgAGIAYQByAAoA') // console input
< "æ`ðð" // console output; SO stripped some chars

正如@Guillaume Badi 在评论中所说,您的 Base64 字符串是 而不是 foo bar。老实说,它看起来更像是一种身份验证 key/tag,无论如何通常都不是人类可读的。