开发者

javascript array back to byte string

开发者 https://www.devze.com 2023-03-29 10:50 出处:网络
I\'m using a wrapper atm that makes JXG\'s Gzip utils a bunch easier. The unzipping a base64 encoded string part works rather nicely however I want to be able to turn it back into a base64 encoded str

I'm using a wrapper atm that makes JXG's Gzip utils a bunch easier. The unzipping a base64 encoded string part works rather nicely however I want to be able to turn it back into a base64 encoded string again. I somehow can't seem to wrap my head around it however, the function which unzips does the following:

unzipBase64As开发者_如何学PythonArray: function(input, bytes) {
    bytes = bytes || 1;

    var dec = this.unzipBase64(input),
        ar = [], i, j, len;
    for (i = 0, len = dec.length/bytes; i < len; i++){
        ar[i] = 0;
        for (j = bytes-1; j >= 0; --j){
            ar[i] += dec.charCodeAt((i *bytes) +j) << (j *8);
        }
    }
    return ar;
}

Now I need to reverse that, I have my array with numbers and wish to turn it into a byte string (could do the base64 encoding and gzip compression with php).

Any idea how to reverse the function above?


zipArrayAsBase64: function( ar, bytes ) {
    bstr = '';
    for( i = 0; i < ar.length; ++i ) {
        for( j = 0; j < bytes; ++j ) {
            bstr += String.fromCharCode( ( ar[i] >> (j*8) ) & 0xFF );
        }
    }
    return this.zipBase64( bstr );
}
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号