2011-08-21 139 views
1

我正在使用包装器atm,使JXG的Gzip utils变得更容易。解压缩一个base64编码的字符串部分可以很好地工作,但是我希望能够将其重新转换为base64编码的字符串。我有点不能似乎不过环绕它我的头,它解压缩功能将执行以下操作:javascript数组返回字节字符串

unzipBase64AsArray: 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; 
} 

现在我需要扭转,我有我的阵列数量,并希望把它变成一个字节字符串(可以使用php进行base64编码和gzip压缩)。

任何想法如何扭转上面的功能?

回答

1
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); 
}