as3 使用 writeByte 方法将位写入 ByteArray 对象

as3 writing bits to ByteArray object using writeByte method

我有一串位(二进制数),我想将它写入一个 ByteArray(或者稍后在一个文件中)这样做是正确的还是我应该先将二进制字符串转换为十六进制?

var bits:String="11001110";//8 bits a byte
var CompressedBytes = new ByteArray();
CompressedBytes.writeByte((int)(bits));

如果是,请提供示例。

您的代码几乎正确。使用全局 parseInt(...) 函数读取给定的 String 并将其转换为 Number .有一个可选的第二个参数,允许您指定您愿意解析的数字的基数。最常见的值是 2(对于二进制表示法)、8(对于八进制数)、10(对于十进制数,即 默认值)或 16(对于十六进制表示法)。

var bits:String = "11001110"; //8 bits a byte
var aByte:int = parseInt(bits, 2);

var CompressedBytes = new ByteArray;
CompressedBytes.writeByte(aByte);

P.S。您可以将 Number(还有 intuint)转换为 String 通过 toString(...) 方法使用给定基数表示。