我使用这个方便的Javascript函数来解码base64字符串并得到一个数组作为返回。在
这是字符串:base64_decode_array('6gAAAOsAAADsAAAACAEAAAkBAAAKAQAAJgEAACcBAAAoAQAA')
返回的内容如下:
^{pr2}$
问题是我不太了解Javascript函数:var base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split("");
var base64inv = {};
for (var i = 0; i base64inv[base64chars[i]] = i;
}
function base64_decode_array (s)
{
// remove/ignore any characters not in the base64 characters list
// or the pad character -- particularly newlines
s = s.replace(new RegExp('[^'+base64chars.join("")+'=]', 'g'), "");
// replace any incoming padding with a zero pad (the 'A' character is zero)
var p = (s.charAt(s.length-1) == '=' ?
(s.charAt(s.length-2) == '=' ? 'AA' : 'A') : "");
var r = [];
s = s.substr(0, s.length - p.length) + p;
// increment over the length of this encrypted string, four characters at a time
for (var c = 0; c // each of these four characters represents a 6-bit index in the base64 characters list
// which, when concatenated, will give the 24-bit number for the original 3 characters
var n &#61; (base64inv[s.charAt(c)] <<18) &#43; (base64inv[s.charAt(c&#43;1)] <<12) &#43;
(base64inv[s.charAt(c&#43;2)] <<6) &#43; base64inv[s.charAt(c&#43;3)];
// split the 24-bit number into the original three 8-bit (ASCII) characters
r.push((n >>> 16) & 255);
r.push((n >>> 8) & 255);
r.push(n & 255);
}
// remove any zero pad that was added to make this a multiple of 24 bits
return r;
}
这些“<&#xff1b;<&#xff1b;”和“>&#xff1b;>&#xff1b;”字符的功能是什么。
或者Python有这样的函数吗&#xff1f;在