gpt4 book ai didi

actionscript-3 - flash as3 如何删除字节数组的一部分?

转载 作者:行者123 更新时间:2023-12-04 06:38:16 25 4
gpt4 key购买 nike

var fData:ByteArray = new ByteArray();

我需要删除此数组中的一些字节,但在 Flash 中找不到任何公共(public)方法来执行此操作。我搜索了类似 fData.remove(start,length) 的内容,但没有成功。

这是代码

    function _dlProgressHandler(evt:ProgressEvent):void { //this is progressEvent for URLStream

............... ///some code

var ff:ByteArray = new ByteArray();

stream.readBytes(ff,0,stream.bytesAvailable);
fileData.writeBytes(ff,0,ff.length); //stream writes into fileData byteArray

//and here is cutter:

fileData.position=0;
fileData.writeBytes(ff,100,fileData.length);
fileData.length=fileData.length-100);

}

因此,fileData 有时会莫名其妙地自行切割。有时旧 block 会找到两次,有时根本找不到。

最佳答案

您总是可以只读取您想要的字节,这与丢弃您不需要的字节具有相同的效果。作为一个非常简单的示例,假设您有一个 10 字节长的 ByteArray 并且您想要丢弃前 3 个字节:

var newBytes:ByteArray = new ByteArray();
newBytes.writeBytes(fData, 2, 7);

因此,不是从 fData 中删除不需要的字节,而是创建一个新的 ByteArray,并且只从 fData 中获取需要的字节。

显然,如果您要删除的字节序列不仅仅是从 fData 开始或结束的序列,它会稍微复杂一些,但方法保持不变:读取您想要的字节,而不是删除那些你不需要的。

关于actionscript-3 - flash as3 如何删除字节数组的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11851251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com