Packagelaya.utils
Classpublic class Byte
InheritanceByte Inheritance Object

Byte 类提供用于优化读取、写入以及处理二进制数据的方法和属性。

注意: Byte 类适用于需要在字节层访问数据的高级开发人员。



Public Properties
 PropertyDefined By
  buffer : ArrayBuffer
[read-only] 获取此对象的 ArrayBuffer 数据,数据只包含有效数据部分。
Byte
  bytesAvailable : int
[read-only] 可从字节流的当前位置到末尾读取的数据的字节数。
Byte
  endian : String
Byte 实例的字节序。取值为:BIG_ENDIAN 或 BIG_ENDIAN 。 主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。通过 getSystemEndian 可以获取当前系统的字节序。 BIG_ENDIAN :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。 LITTLE_ENDIAN :小端字节序,地址低位存储值的低位,地址高位存储值的高位。
Byte
  length : int
Byte 对象的长度(以字节为单位)。 如果将长度设置为大于当前长度的值,则用零填充字节数组的右侧;如果将长度设置为小于当前长度的值,将会截断该字节数组。 如果要设置的长度大于当前已分配的内存空间的字节长度,则重新分配内存空间,大小为以下两者较大者:要设置的长度、当前已分配的长度的2倍,并将原有数据拷贝到新的内存空间中;如果要设置的长度小于当前已分配的内存空间的字节长度,也会重新分配内存空间,大小为要设置的长度,并将原有数据从头截断为要设置的长度存入新的内存空间中。
Byte
  pos : int
移动或返回 Byte 对象的读写指针的当前位置(以字节为单位)。下一次调用读取方法时将在此位置开始读取,或者下一次调用写入方法时将在此位置开始写入。
Byte
Public Methods
 MethodDefined By
  
Byte(data:* = null)
创建一个 Byte 类的实例。
Byte
  
clear():void
清除字节数组的内容,并将 length 和 pos 属性重置为 0。调用此方法将释放 Byte 实例占用的内存。
Byte
  
ensureWrite(lengthToEnsure:int):void
保证该字节流的可用长度不小于 lengthToEnsure 参数指定的值。
Byte
  
getByte():int
从字节流中读取带符号的字节。 返回值的范围是从 -128 到 127。
Byte
  
getFloat32():Number
从字节流的当前字节偏移位置处读取一个 IEEE 754 单精度(32 位)浮点数。
Byte
  
getFloat32Array(start:int, len:int):*
从字节流中 start 参数指定的位置开始,读取 len 参数指定的字节数的数据,用于创建一个 Float32Array 对象并返回此对象。
Byte
  
getFloat64():Number
从字节流的当前字节偏移量位置处读取一个 IEEE 754 双精度(64 位)浮点数。
Byte
  
getInt16():int
从字节流的当前字节偏移量位置处读取一个 Int16 值。
Byte
  
getInt16Array(start:int, len:int):*
从字节流中 start 参数指定的位置开始,读取 len 参数指定的字节数的数据,用于创建一个 Int16Array 对象并返回此对象。
Byte
  
getInt32():int
从字节流的当前字节偏移量位置处读取一个 Int32 值。
Byte
  
getString():String
常用于解析固定格式的字节流。 先从字节流的当前字节偏移位置处读取一个 Uint16 值,然后以此值为长度,读取此长度的字符串。
Byte
  
[static] 获取当前主机的字节序。 主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。 BIG_ENDIAN :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。 LITTLE_ENDIAN :小端字节序,地址低位存储值的低位,地址高位存储值的高位。
Byte
  
getUint16():uint
从字节流的当前字节偏移量位置处读取一个 Uint16 值。
Byte
  
getUint32():uint
从字节流的当前字节偏移量位置处读取一个 Uint32 值。
Byte
  
getUint8():uint
从字节流的当前字节偏移量位置处读取一个 Uint8 值。
Byte
  
getUint8Array(start:int, len:int):Uint8Array
从字节流中 start 参数指定的位置开始,读取 len 参数指定的字节数的数据,用于创建一个 Uint8Array 对象并返回此对象。
Byte
  
getUTFBytes(len:int = -1):String
从字节流中读取一个由 length 参数指定的长度的 UTF-8 字节序列,并返回一个字符串。 一般读取的是由 writeUTFBytes 方法写入的字符串。
Byte
  
getUTFString():String
从字节流中读取一个 UTF-8 字符串。假定字符串的前缀是一个无符号的短整型(以此字节表示要读取的长度)。 对应的写入方法为: writeUTFString 。
Byte
  
writeArrayBuffer(arraybuffer:*, offset:uint = 0, length:uint = 0):void
将指定 arraybuffer 对象中的以 offset 为起始偏移量, length 为长度的字节序列写入字节流。 如果省略 length 参数,则使用默认长度 0,该方法将从 offset 开始写入整个缓冲区;如果还省略了 offset 参数,则写入整个缓冲区。 如果 offset 或 length 小于0,本函数将抛出异常。 $NEXTBIG 由于没有判断length和arraybuffer的合法性,当开发者填写了错误的length值时,会导致写入多余的空白数据甚至内存溢出,为了避免影响开发者正在使用此方法的功能,下个重大版本会修复这些问题。
Byte
  
writeByte(value:int):void
在字节流中写入一个字节。 使用参数的低 8 位。忽略高 24 位。
Byte
  
writeFloat32(value:Number):void
在字节流的当前字节偏移量位置处写入一个 IEEE 754 单精度(32 位)浮点数。
Byte
  
writeFloat64(value:Number):void
在字节流的当前字节偏移量位置处写入一个 IEEE 754 双精度(64 位)浮点数。
Byte
  
writeInt16(value:int):void
在字节流的当前字节偏移量位置处写入指定的 Int16 值。
Byte
  
writeInt32(value:int):void
在字节流的当前字节偏移量位置处写入指定的 Int32 值。
Byte
  
writeUint16(value:int):void
在字节流的当前字节偏移量位置处写入指定的 Uint16 值。
Byte
  
writeUint32(value:int):void
在字节流的当前字节偏移量位置处写入 Uint32 值。
Byte
  
writeUint8(value:int):void
在字节流的当前字节偏移量位置处写入指定的 Uint8 值。
Byte
  
writeUTFBytes(value:String):void
将 UTF-8 字符串写入字节流。类似于 writeUTF() 方法,但 writeUTFBytes() 不使用 16 位长度的字为字符串添加前缀。 对应的读取方法为: getUTFBytes 。
Byte
  
writeUTFString(value:String):void
将 UTF-8 字符串写入字节流。先写入以字节表示的 UTF-8 字符串长度(作为 16 位整数),然后写入表示字符串字符的字节。 对应的读取方法为: getUTFString 。
Byte
Public Constants
 ConstantDefined By
  BIG_ENDIAN : String = bigEndian
[static] 主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。通过 getSystemEndian 可以获取当前系统的字节序。 BIG_ENDIAN :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。 LITTLE_ENDIAN :小端字节序,地址低位存储值的低位,地址高位存储值的高位。
Byte
  LITTLE_ENDIAN : String = littleEndian
[static] 主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。通过 getSystemEndian 可以获取当前系统的字节序。 LITTLE_ENDIAN :小端字节序,地址低位存储值的低位,地址高位存储值的高位。 BIG_ENDIAN :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。
Byte
Property Detail
bufferproperty
buffer:ArrayBuffer  [read-only]

获取此对象的 ArrayBuffer 数据,数据只包含有效数据部分。


Implementation
    public function get buffer():ArrayBuffer
bytesAvailableproperty 
bytesAvailable:int  [read-only]

可从字节流的当前位置到末尾读取的数据的字节数。


Implementation
    public function get bytesAvailable():int
endianproperty 
endian:String

Byte 实例的字节序。取值为:BIG_ENDIANBIG_ENDIAN

主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。通过 getSystemEndian 可以获取当前系统的字节序。

BIG_ENDIAN :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。 LITTLE_ENDIAN :小端字节序,地址低位存储值的低位,地址高位存储值的高位。


Implementation
    public function get endian():String
    public function set endian(value:String):void
lengthproperty 
length:int

Byte 对象的长度(以字节为单位)。

如果将长度设置为大于当前长度的值,则用零填充字节数组的右侧;如果将长度设置为小于当前长度的值,将会截断该字节数组。

如果要设置的长度大于当前已分配的内存空间的字节长度,则重新分配内存空间,大小为以下两者较大者:要设置的长度、当前已分配的长度的2倍,并将原有数据拷贝到新的内存空间中;如果要设置的长度小于当前已分配的内存空间的字节长度,也会重新分配内存空间,大小为要设置的长度,并将原有数据从头截断为要设置的长度存入新的内存空间中。


Implementation
    public function get length():int
    public function set length(value:int):void
posproperty 
pos:int

移动或返回 Byte 对象的读写指针的当前位置(以字节为单位)。下一次调用读取方法时将在此位置开始读取,或者下一次调用写入方法时将在此位置开始写入。


Implementation
    public function get pos():int
    public function set pos(value:int):void
Constructor Detail
Byte()Constructor
public function Byte(data:* = null)

创建一个 Byte 类的实例。

Parameters
data:* (default = null) — 用于指定初始化的元素数目,或者用于初始化的TypedArray对象、ArrayBuffer对象。如果为 null ,则预分配一定的内存空间,当可用空间不足时,优先使用这部分内存,如果还不够,则重新分配所需内存。
Method Detail
clear()method
public function clear():void

清除字节数组的内容,并将 length 和 pos 属性重置为 0。调用此方法将释放 Byte 实例占用的内存。

ensureWrite()method 
public function ensureWrite(lengthToEnsure:int):void

保证该字节流的可用长度不小于 lengthToEnsure 参数指定的值。

Parameters

lengthToEnsure:int — 指定的长度。

getByte()method 
public function getByte():int

从字节流中读取带符号的字节。

返回值的范围是从 -128 到 127。

Returns
int — 介于 -128 和 127 之间的整数。
getFloat32()method 
public function getFloat32():Number

从字节流的当前字节偏移位置处读取一个 IEEE 754 单精度(32 位)浮点数。

Returns
Number — 单精度(32 位)浮点数。
getFloat32Array()method 
public function getFloat32Array(start:int, len:int):*

从字节流中 start 参数指定的位置开始,读取 len 参数指定的字节数的数据,用于创建一个 Float32Array 对象并返回此对象。

Parameters

start:int — 开始位置。
 
len:int — 需要读取的字节长度。如果要读取的长度超过可读取范围,则只返回可读范围内的值。

Returns
* — 读取的 Float32Array 对象。
getFloat64()method 
public function getFloat64():Number

从字节流的当前字节偏移量位置处读取一个 IEEE 754 双精度(64 位)浮点数。

Returns
Number — 双精度(64 位)浮点数。
getInt16()method 
public function getInt16():int

从字节流的当前字节偏移量位置处读取一个 Int16 值。

Returns
int — Int16 值。
getInt16Array()method 
public function getInt16Array(start:int, len:int):*

从字节流中 start 参数指定的位置开始,读取 len 参数指定的字节数的数据,用于创建一个 Int16Array 对象并返回此对象。

Parameters

start:int — 开始读取的字节偏移量位置。
 
len:int — 需要读取的字节长度。如果要读取的长度超过可读取范围,则只返回可读范围内的值。

Returns
* — 读取的 Uint8Array 对象。
getInt32()method 
public function getInt32():int

从字节流的当前字节偏移量位置处读取一个 Int32 值。

Returns
int — Int32 值。
getString()method 
public function getString():String

常用于解析固定格式的字节流。

先从字节流的当前字节偏移位置处读取一个 Uint16 值,然后以此值为长度,读取此长度的字符串。

Returns
String — 读取的字符串。
getSystemEndian()method 
public static function getSystemEndian():String

获取当前主机的字节序。

主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。

BIG_ENDIAN :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。 LITTLE_ENDIAN :小端字节序,地址低位存储值的低位,地址高位存储值的高位。

Returns
String — 当前系统的字节序。
getUint16()method 
public function getUint16():uint

从字节流的当前字节偏移量位置处读取一个 Uint16 值。

Returns
uint — Uint16 值。
getUint32()method 
public function getUint32():uint

从字节流的当前字节偏移量位置处读取一个 Uint32 值。

Returns
uint — Uint32 值。
getUint8()method 
public function getUint8():uint

从字节流的当前字节偏移量位置处读取一个 Uint8 值。

Returns
uint — Uint8 值。
getUint8Array()method 
public function getUint8Array(start:int, len:int):Uint8Array

从字节流中 start 参数指定的位置开始,读取 len 参数指定的字节数的数据,用于创建一个 Uint8Array 对象并返回此对象。

Parameters

start:int — 开始位置。
 
len:int — 需要读取的字节长度。如果要读取的长度超过可读取范围,则只返回可读范围内的值。

Returns
Uint8Array — 读取的 Uint8Array 对象。
getUTFBytes()method 
public function getUTFBytes(len:int = -1):String

从字节流中读取一个由 length 参数指定的长度的 UTF-8 字节序列,并返回一个字符串。

一般读取的是由 writeUTFBytes 方法写入的字符串。

Parameters

len:int (default = -1) — 要读的buffer长度,默认将读取缓冲区全部数据。

Returns
String — 读取的字符串。
getUTFString()method 
public function getUTFString():String

从字节流中读取一个 UTF-8 字符串。假定字符串的前缀是一个无符号的短整型(以此字节表示要读取的长度)。

对应的写入方法为: writeUTFString 。

Returns
String — 读取的字符串。
writeArrayBuffer()method 
public function writeArrayBuffer(arraybuffer:*, offset:uint = 0, length:uint = 0):void

将指定 arraybuffer 对象中的以 offset 为起始偏移量, length 为长度的字节序列写入字节流。

如果省略 length 参数,则使用默认长度 0,该方法将从 offset 开始写入整个缓冲区;如果还省略了 offset 参数,则写入整个缓冲区。

如果 offset 或 length 小于0,本函数将抛出异常。

$NEXTBIG 由于没有判断length和arraybuffer的合法性,当开发者填写了错误的length值时,会导致写入多余的空白数据甚至内存溢出,为了避免影响开发者正在使用此方法的功能,下个重大版本会修复这些问题。

Parameters

arraybuffer:* — 需要写入的 Arraybuffer 对象。
 
offset:uint (default = 0) — Arraybuffer 对象的索引的偏移量(以字节为单位)
 
length:uint (default = 0) — 从 Arraybuffer 对象写入到 Byte 对象的长度(以字节为单位)

writeByte()method 
public function writeByte(value:int):void

在字节流中写入一个字节。

使用参数的低 8 位。忽略高 24 位。

Parameters

value:int

writeFloat32()method 
public function writeFloat32(value:Number):void

在字节流的当前字节偏移量位置处写入一个 IEEE 754 单精度(32 位)浮点数。

Parameters

value:Number — 单精度(32 位)浮点数。

writeFloat64()method 
public function writeFloat64(value:Number):void

在字节流的当前字节偏移量位置处写入一个 IEEE 754 双精度(64 位)浮点数。

Parameters

value:Number — 双精度(64 位)浮点数。

writeInt16()method 
public function writeInt16(value:int):void

在字节流的当前字节偏移量位置处写入指定的 Int16 值。

Parameters

value:int — 需要写入的 Int16 值。

writeInt32()method 
public function writeInt32(value:int):void

在字节流的当前字节偏移量位置处写入指定的 Int32 值。

Parameters

value:int — 需要写入的 Int32 值。

writeUint16()method 
public function writeUint16(value:int):void

在字节流的当前字节偏移量位置处写入指定的 Uint16 值。

Parameters

value:int — 需要写入的Uint16 值。

writeUint32()method 
public function writeUint32(value:int):void

在字节流的当前字节偏移量位置处写入 Uint32 值。

Parameters

value:int — 需要写入的 Uint32 值。

writeUint8()method 
public function writeUint8(value:int):void

在字节流的当前字节偏移量位置处写入指定的 Uint8 值。

Parameters

value:int — 需要写入的 Uint8 值。

writeUTFBytes()method 
public function writeUTFBytes(value:String):void

将 UTF-8 字符串写入字节流。类似于 writeUTF() 方法,但 writeUTFBytes() 不使用 16 位长度的字为字符串添加前缀。

对应的读取方法为: getUTFBytes 。

Parameters

value:String — 要写入的字符串。

writeUTFString()method 
public function writeUTFString(value:String):void

将 UTF-8 字符串写入字节流。先写入以字节表示的 UTF-8 字符串长度(作为 16 位整数),然后写入表示字符串字符的字节。

对应的读取方法为: getUTFString 。

Parameters

value:String — 要写入的字符串值。

Constant Detail
BIG_ENDIANConstant
public static const BIG_ENDIAN:String = bigEndian

主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。通过 getSystemEndian 可以获取当前系统的字节序。

BIG_ENDIAN :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。 LITTLE_ENDIAN :小端字节序,地址低位存储值的低位,地址高位存储值的高位。

LITTLE_ENDIANConstant 
public static const LITTLE_ENDIAN:String = littleEndian

主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。通过 getSystemEndian 可以获取当前系统的字节序。

LITTLE_ENDIAN :小端字节序,地址低位存储值的低位,地址高位存储值的高位。 BIG_ENDIAN :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。