base64_decode function problem

Поддержка
  • base64_decode не может декодировать base64 если строка содержит \0 bytes

    function atob(s) {
        var e={},i,b=0,c,x,l=0,a,r='',w=String.fromCharCode,L=s.length;
        var A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
        for(i=0;i<64;i++){e[A.charAt(i)]=i;}
        for(x=0;x<L;x++){
            c=e[s.charAt(x)];b=(b<<6)+c;l+=6;
            while(l>=8){((a=(b>>>(l-=8))&0xff)||(x<(L-2)))&&(r+=w(a));}
        }
        return r
    };
    
    var b = "AAAAACkKJwoaZG9jZS5wYWl4YW9AaG90bWFpbC5jb20uYnISB25pY29sbGUoAg==";
    log(base64_decode(b))
    log(atob(b))
    

    15d5ed57-7a8a-40c8-a53a-6fed32b63745-image.png