跳到主要内容

PoolByteArray

简要描述

合并的字节数组Array

描述

一个专门用于保存字节的数组Array。优化了内存的使用,不会产生内存碎片

注意:此类型是通过值而不是通过引用传递的。

方法

返回值类型方法名称
PoolByteArrayPoolByteArray(#method-PoolByteArray)(from: Array)
append(byte: int)
append_array(array: PoolByteArray)
PoolByteArraycompress(compression_mode: int = 0)
PoolByteArraydecompress(buffer_size: int, compression_mode: int = 0)
boolempty()
Stringget_string_from_ascii()
Stringget_string_from_utf8()
Stringhex_encode()
intinsert(idx: int, byte: int)
invert()
push_back(byte: int)
remove(idx: int)
resize(idx: int)
set(idx: int, byte: int)
intsize()
PoolByteArraysubarray(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返回。