我正在用Javascript开发一个网站。我已经使用REST api制作了后端。要登录服务器,我必须解码base64字符串。解码后,它应该只是一个二进制字符串(不是简单的文本字符串,二进制字符串)
问题在于我做的时候
function base64_decode(string) {
return decodeURIComponent(Array.prototype.map.call(atob(string), function(c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));
}
我有这个错误:URIError: URI malformed
。
除了atob
和btoa
之外,我还有错误的base64字符串。
我尝试了许多不同的算法,包含许多不同的软件包,但仍然无效。在Javascript中是否可以解码base64编码的二进制字符串?
我在iOS应用程序中使用了同样的东西,使用Swift它运行正常。它在Java中也很好用。我只是在base64解码上使用Javascript。
我尝试解码的字符串示例
lYlRMvG3MuhOqjmCPAHnoQmEH/TS087iZj9zt6vMG+nJhRsaqr/oTw+drfM+KAEx1xwWbFu6WGB8uEyKPZLb7n9f5mToKiLf8gVVBpogGsI8/EYz3xsxSbLjLby8+FSLNYV8HA4Ct6N5oGEVyM58CY+HwuKZ0T6k7r+t1NDU584=