javascript bzip2流作为Uint8Array

javascript bzip2流作为Uint8Array,javascript,string,bzip2,Javascript,String,Bzip2,从上一个关于Stackoverflow的回答中,我找到了javascript的bzip2库: 它几乎满足了我的需要,只是我需要输出为Uint8Array而不是字符串 我使用bzip2库中的此函数: bzip2.simple = function(bits){ var size = bzip2.header(bits); var all = '', chunk = ''; do{ all += chunk; chunk = bzip2.decompre

从上一个关于Stackoverflow的回答中,我找到了javascript的bzip2库:

它几乎满足了我的需要,只是我需要输出为Uint8Array而不是字符串

我使用bzip2库中的此函数:

bzip2.simple = function(bits){
   var size = bzip2.header(bits);
   var all = '', chunk = '';
   do{
       all += chunk;
       chunk = bzip2.decompress(bits, size);
     }while(chunk != -1);
    return all;
}
我找到了一种将字符串输出转换为Uint8Array的方法:

function str2ab(str) 
{
     var buf = new ArrayBuffer(str.length);
     var bufView = new Uint8Array(buf);
     for (var i=0, strLen=str.length; i < strLen; i++) {
        bufView[i] = str.charCodeAt(i);
     }
     return buf;
};
函数str2ab(str)
{
var buf=新阵列缓冲区(str.length);
var bufView=新的UINT8阵列(buf);
对于(变量i=0,strLen=str.length;i
但出于速度的原因,我希望有一种好方法可以重新编写原始的bzip2函数,使其直接输出为Uint8Array

我遇到的一个主要问题是,我不知道如何动态增加数组