base64解码的js代码
时间: 2023-05-02 17:06:12 浏览: 98
Base64是一种将二进制数据编码为ASCII字符的方法,常用于网络传输和数据存储等场合。在Web开发中,我们常常需要使用JavaScript对Base64编码进行解码。以下是一段常用的Base64解码的JavaScript代码:
```
function base64Decode(str) {
var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
var d64 = [];
// 将Base64码对应的ASCII码保存到d64数组中
for (var i = 0; i < 64; i++) {
d64[b64.charAt(i)] = i;
}
// 将Base64编码的字符串转换为二进制数据
var i = 0,
prev = -1,
len = str.length,
bytes = [];
while (i < len) {
var ascii = str.charAt(i);
var b = d64[ascii];
// 如果不是Base64字符,则忽略该字符
if (typeof b !== 'number') {
i++;
continue;
}
// 计算二进制数据
if (prev === -1) {
prev = b;
} else {
var c = (prev << 2) | ((b & 0x30) >> 4);
bytes.push(c);
prev = -1;
if ((b & 0x0f) !== 0) {
bytes.push((b & 0x0f) << 4 | (b & 0x3c) >> 2);
prev = b & 0x03;
}
}
i++;
}
// 返回解码后的二进制数据
return bytes;
}
```
该函数使用了一个长度为64的数组来保存Base64字符对应的ASCII码。在解码过程中,先将Base64编码的字符串转换为二进制数据,再返回解码后的二进制数据。因此,如果我们需要将Base64编码的字符串解码成二进制数据,可以直接调用该函数。
阅读全文