我正在尝试解码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中提取原始编码字符串?谢谢:))
答案 0 :(得分:1)
//
在函数atob
中无效:它只会使用有效的Base64字符串,其中包含数字,字母,有时还包含==
。首先剥离它然后运行它:
> atob('5mAG8AbwAgAGIAYQByAAoA') // console input
< "æ`ðð" // console output; SO stripped some chars
正如@Guillaume Badi在评论中所说,你的Base64字符串不是 foo bar
。说实话,它看起来更像是一个身份验证密钥/标记,无论如何通常都不是人类可读的。