PoolByteArray
简要描述
合并的字节数组Array。
描述
一个专门用于保存字节的数组Array。优化了内存的使用,不会产生内存碎片
注意:此类型是通过值而不是通过引用传递的。
方法
返回值类型 | 方法名称 |
---|---|
PoolByteArray | PoolByteArray(#method-PoolByteArray)(from: Array) |
append(byte: int) | |
append_array(array: PoolByteArray) | |
PoolByteArray | compress(compression_mode: int = 0) |
PoolByteArray | decompress(buffer_size: int, compression_mode: int = 0) |
bool | empty() |
String | get_string_from_ascii() |
String | get_string_from_utf8() |
String | hex_encode() |
int | insert(idx: int, byte: int) |
invert() | |
push_back(byte: int) | |
remove(idx: int) | |
resize(idx: int) | |
set(idx: int, byte: int) | |
int | size() |
PoolByteArray | subarray(from: int, to: int) |
方法说明
- PoolByteArray PoolByteArray(from: Array)
构造一个新的PoolByteArray。 作为选择,你可以传入一个普通的数组Array来进行转换
- append append(byte: int)
在数组末尾附加一个元素(push_back的别名)。
- append_array append_array(array: PoolByteArray)
在此数组的末尾附加一个PoolByteArray。
- compress compress(compression_mode: int = 0)
返回带有压缩数据的新PoolByteArray。通过枚举File.CompressionMode中的值来设置压缩模式
- decompress decompress(buffer_size: int, compression_mode: int = 0)
返回具有解压缩数据的新PoolByteArray。设置buffer_size
来指定未压缩数据的大小,通过枚举File.CompressionMode中的值来设置压缩模式
- empty empty()
如果数组为空,则返回true
。
- get_string_from_ascii get_string_from_ascii()
以String返回数组内容的副本。快速的替代方式是使用方法get_string_from_utf8(如果内容只包含了ASCII),和UTF-8的方法不同,这个方法会把每个字节都映射到数组中,所以如果是多字节[MultiBytes]的组合,那么最终的顺序是不正确的,如果要解析用户的输入的话,那么应该始终使用 get_string_from_utf8
- get_string_from_utf8 get_string_from_utf8()
以String返回数组内容的副本。比方法 get_string_from_ascii慢,但是可以支持UTF-8的格式,如果你不清楚源的类型的话,那么就使用这个方法就好,对于用户输入来说,这种方法总是更受欢迎的
- hex_encode hex_encode()
以String形式返回此数组的十六进制表示形式。
var array = PoolByteArray([46,])
print(array.hex_encode()) # Prints: 0b2eff
- insert insert(idx: int, byte: int)
在数组中的给定位置插入一个新元素。位置必须是有效的,或者是在数组的末尾(idx == size()
)
- invert invert()
反转数组中元素的顺序。
- push_back push_back(byte: int)
在数组的末尾追加一个元素。
- remove remove(idx: int)
通过索引从数组中删除一个元素。
- resize resize(idx: int)
设置数组的大小。如果数组大小的增长超过了原有大小,那么会将原有的元素保存在数组的末端,如果大小缩小的话,那么会被截断到最新的大小
- set set(idx: int, byte: int)
更改给定索引处的字节。
- size size()
返回数组的大小。
- subarray subarray(from: int, to: int)
将索引之间(包括两个索引)的PoolByteArray的切片作为新的PoolByteArray返回。