2011-08-21 100 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); 
}