Package | laya.utils |
Class | public class Byte |
Inheritance | Byte Object |
Byte
类提供用于优化读取、写入以及处理二进制数据的方法和属性。
注意:
Byte
类适用于需要在字节层访问数据的高级开发人员。
Property | Defined 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 |
Method | Defined 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 | ||
getSystemEndian():String [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 |
Constant | Defined 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 |
buffer | property |
buffer:ArrayBuffer
[read-only] 获取此对象的 ArrayBuffer 数据,数据只包含有效数据部分。
public function get buffer():ArrayBuffer
bytesAvailable | property |
bytesAvailable:int
[read-only] 可从字节流的当前位置到末尾读取的数据的字节数。
public function get bytesAvailable():int
endian | property |
endian:String
Byte
实例的字节序。取值为:BIG_ENDIAN
或 BIG_ENDIAN
。
主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。通过 getSystemEndian
可以获取当前系统的字节序。
BIG_ENDIAN
:大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。
LITTLE_ENDIAN
:小端字节序,地址低位存储值的低位,地址高位存储值的高位。
public function get endian():String
public function set endian(value:String):void
length | property |
length:int
Byte
对象的长度(以字节为单位)。
如果将长度设置为大于当前长度的值,则用零填充字节数组的右侧;如果将长度设置为小于当前长度的值,将会截断该字节数组。
如果要设置的长度大于当前已分配的内存空间的字节长度,则重新分配内存空间,大小为以下两者较大者:要设置的长度、当前已分配的长度的2倍,并将原有数据拷贝到新的内存空间中;如果要设置的长度小于当前已分配的内存空间的字节长度,也会重新分配内存空间,大小为要设置的长度,并将原有数据从头截断为要设置的长度存入新的内存空间中。
public function get length():int
public function set length(value:int):void
pos | property |
pos:int
移动或返回 Byte 对象的读写指针的当前位置(以字节为单位)。下一次调用读取方法时将在此位置开始读取,或者下一次调用写入方法时将在此位置开始写入。
public function get pos():int
public function set pos(value:int):void
Byte | () | Constructor |
public function Byte(data:* = null)
创建一个 Byte
类的实例。
data:* (default = null ) — 用于指定初始化的元素数目,或者用于初始化的TypedArray对象、ArrayBuffer对象。如果为 null ,则预分配一定的内存空间,当可用空间不足时,优先使用这部分内存,如果还不够,则重新分配所需内存。
|
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。
Returnsint — 介于 -128 和 127 之间的整数。
|
getFloat32 | () | method |
public function getFloat32():Number
从字节流的当前字节偏移位置处读取一个 IEEE 754 单精度(32 位)浮点数。
ReturnsNumber — 单精度(32 位)浮点数。
|
getFloat32Array | () | method |
public function getFloat32Array(start:int, len:int):*
从字节流中 start
参数指定的位置开始,读取 len
参数指定的字节数的数据,用于创建一个 Float32Array
对象并返回此对象。
Parameters
start:int — 开始位置。
| |
len:int — 需要读取的字节长度。如果要读取的长度超过可读取范围,则只返回可读范围内的值。
|
* — 读取的 Float32Array 对象。
|
getFloat64 | () | method |
public function getFloat64():Number
从字节流的当前字节偏移量位置处读取一个 IEEE 754 双精度(64 位)浮点数。
ReturnsNumber — 双精度(64 位)浮点数。
|
getInt16 | () | method |
public function getInt16():int
从字节流的当前字节偏移量位置处读取一个 Int16 值。
Returnsint — Int16 值。
|
getInt16Array | () | method |
public function getInt16Array(start:int, len:int):*
从字节流中 start
参数指定的位置开始,读取 len
参数指定的字节数的数据,用于创建一个 Int16Array
对象并返回此对象。
Parameters
start:int — 开始读取的字节偏移量位置。
| |
len:int — 需要读取的字节长度。如果要读取的长度超过可读取范围,则只返回可读范围内的值。
|
* — 读取的 Uint8Array 对象。
|
getInt32 | () | method |
public function getInt32():int
从字节流的当前字节偏移量位置处读取一个 Int32 值。
Returnsint — Int32 值。
|
getString | () | method |
public function getString():String
常用于解析固定格式的字节流。
先从字节流的当前字节偏移位置处读取一个 Uint16
值,然后以此值为长度,读取此长度的字符串。
String — 读取的字符串。
|
getSystemEndian | () | method |
public static function getSystemEndian():String
获取当前主机的字节序。
主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。
BIG_ENDIAN
:大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。
LITTLE_ENDIAN
:小端字节序,地址低位存储值的低位,地址高位存储值的高位。
String — 当前系统的字节序。
|
getUint16 | () | method |
public function getUint16():uint
从字节流的当前字节偏移量位置处读取一个 Uint16 值。
Returnsuint — Uint16 值。
|
getUint32 | () | method |
public function getUint32():uint
从字节流的当前字节偏移量位置处读取一个 Uint32 值。
Returnsuint — Uint32 值。
|
getUint8 | () | method |
public function getUint8():uint
从字节流的当前字节偏移量位置处读取一个 Uint8 值。
Returnsuint — Uint8 值。
|
getUint8Array | () | method |
public function getUint8Array(start:int, len:int):Uint8Array
从字节流中 start
参数指定的位置开始,读取 len
参数指定的字节数的数据,用于创建一个 Uint8Array
对象并返回此对象。
Parameters
start:int — 开始位置。
| |
len:int — 需要读取的字节长度。如果要读取的长度超过可读取范围,则只返回可读范围内的值。
|
Uint8Array — 读取的 Uint8Array 对象。
|
getUTFBytes | () | method |
public function getUTFBytes(len:int = -1):String
从字节流中读取一个由 length 参数指定的长度的 UTF-8 字节序列,并返回一个字符串。
一般读取的是由 writeUTFBytes 方法写入的字符串。
Parameters
len:int (default = -1 ) — 要读的buffer长度,默认将读取缓冲区全部数据。
|
String — 读取的字符串。
|
getUTFString | () | method |
public function getUTFString():String
从字节流中读取一个 UTF-8 字符串。假定字符串的前缀是一个无符号的短整型(以此字节表示要读取的长度)。
对应的写入方法为: writeUTFString 。
ReturnsString — 读取的字符串。
|
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 — 要写入的字符串值。
|
BIG_ENDIAN | Constant |
public static const BIG_ENDIAN:String = bigEndian
主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。通过 getSystemEndian
可以获取当前系统的字节序。
BIG_ENDIAN
:大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。
LITTLE_ENDIAN
:小端字节序,地址低位存储值的低位,地址高位存储值的高位。
LITTLE_ENDIAN | Constant |
public static const LITTLE_ENDIAN:String = littleEndian
主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。通过 getSystemEndian
可以获取当前系统的字节序。
LITTLE_ENDIAN
:小端字节序,地址低位存储值的低位,地址高位存储值的高位。
BIG_ENDIAN
:大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。