我想了解ByteArray中空字节的意义。他们是否像终结者一样行事?我的意思是,一旦空字节被写入,我们不能进一步写入ByteArray吗?ActionScript 3.0 - ByteArray中的空字节
例如,
import flash.utils.*;
public class print3r{
public function print3r{
Util.print(nullout());
}
public function nullout:ByteArray(){
var bytes:ByteArray = new ByteArray();
bytes.writeInt(((403705888 + 1) - 1)); // Non Printable Characters
bytes.writeInt(((403705872 - 1) + 1)); // Non Printable Characters
bytes.writeInt(0x18101000); // Notice the NullByte in this DWORD
bytes.writeInt(0x41424344); // ASCII Characters ABCD
return bytes;
}
}
new print3r;
这给出了一个空白的输出。现在
,如果我更换DWORD,0x18101000与0x18101010,这时候我可以看到ASCII填充,ABCD输出。
我的问题是,是否有可能通过空字节写入ByteArray()?
我之所以这样问,是因为我在ActionScript代码已经看到,很多writeInt和writeByte操作都是在空字节写入即使后的ByteArray进行。
谢谢。
谢谢。我会尝试你的建议,并考察从ByteArray中读取的各种函数。一个问题,我正在使用:http://eval.hurlant。com/demo /来练习ActionScript。它不支持trace()吗?因为我无法在其中使用trace()查看输出。 –
不知道,其实。我认为,用现实世界的工具练习会更好。 [Flex SDK](http://www.adobe.com/devnet/flex/flex-sdk-download.html)是免费的(编译器+一堆工具)和[Flash开发](http://www.flashdevelop .org /)也是免费的(一个使用Flex SDK编译ActionScript的IDE)。 –
谢谢。我会检查出来。 –