缓冲器是一个表示固定大小的可变内存块的对象。缓冲器库提供创建和操作缓冲器对象的函数,提供所有其函数在全球 buffer 变量内。
缓冲器是用于低级别的二进制数据存储结构,替换使用 string.pack() 和 string.unpack() 的使用。使用例子包括读取和写入现有二进制格式,使用更小的数据存储结构,串行化到自定义二进制格式,并且与固定长度整数和漂浮点类型的数据进行一般工作。
当通过 Roblox API 传送时,包括通过自定义事件发送缓冲器的内容,缓冲器对象的身份不会保留,目标将收到副本。与其他限制类似,不同的缓冲器对象不能从多个 Actor 脚本(并行 Luau)中使用。
许多函数从缓冲器开始接受一个偏移。从缓冲器开始的 0 个偏移访问到第一个字节。所有的偏移、计数和大小都必须为正整数。如果读取或写入操作的字节位于缓冲器之外,就会发生错误。
使用整数和漂浮的方法 read 和 write 的方法使用 little-endian 编码。
概要
职能
创建一个缓冲器。
创建一个字符串的缓冲器。
将一个缓冲器转换为一个字符串。
返回缓冲器的大小以字节。
从内存中读取 8 位已签名的整数。
从内存中读取 8 位未签名的整数。
从内存中读取 16 位已签名的整数。
从内存中读取 16 位未签名的整数。
从内存中读取32位已签名的整数。
从内存中读取 32 位未签名的整数。
从内存中读取 32 位漂浮点值。
从内存中读取一个 64 位漂浮点值。
将 8 位签名整数写入缓冲器。
将 8 位未签名整数写入缓冲器。
将 16 位签名整数写入缓冲器。
将一个 16 位未签名整数写入缓冲器。
将 32 位签定的整数写入缓冲器。
将 32 位未签名整数写入缓冲器。
将一个 32 位漂浮点值写入缓冲器。
将一个 64 位漂浮点值写入缓冲器。
从内存中读取一个字符串。
将字符串写入缓冲器。
在缓冲器之间复制字节。
将缓冲器内存区域设置为某个 8 位未签名整数值。
职能
copy
从 count 开始,从 source 起,复制到 sourceOffset 在 1> targetOffset1> 下。
source 和 target 可能相同。复制在同一缓冲器中的相同区域内的内容就像将源区域复制到临时缓冲器中,然后该缓冲器复制到目标。