建议有二进制流包含8个字节
我想获得一个包含此内容的新流:
将每个咬合的每个第一位形成第一个字节
每咬一下第二位以形成第二个字节
...
每咬一下第8位以形成最后一个字节
就像python中的zip(),但是是二进制形式。
这是我的代码
//create example data
var ba:ByteArray = new ByteArray();
for(var i:int=0;i<8;i++){
ba.writeByte(Math.random()*256);
}
ba.position = 0;
//process 8 bytes
var eightbytes:Array = new Array();
for(i=0;i<8;i++){
eightbytes.push(ba.readByte());
}
var j:int = 128;
var ba2:ByteArray = new ByteArray();
for(i=0;i<8;i++){
var result:int = 0;
for(var k:int = 0;k<8;k++){
var byte:int = eightbytes[k]&j;
if(i<k){
byte = byte>>(k-i);
}else if(i>k){
byte = byte<<(i-k);
}
result=result||byte;
}
ba2.writeByte(result);
j=j>>1;
}
trace(ba);
trace(ba2);
这不擅长处理大量数据。我必须逐个读取和写入字节,并为每个8字节块执行8x8循环。有哪种方法可以加固它?
答案 0 :(得分:0)
检查工人,他们是as3中最接近线程的东西。他们会进行并行计算,在等待所有8个完成后,你将结合你的结果。它还会因计算而停止接口锁定。