buffer_compress

此函数使用 zlib 压缩 压缩部分 (或全部) 缓冲区,并返回包含压缩数据的新缓冲区。

您提供要压缩的缓冲区 (由 buffer_create 返回)、要使用的缓冲区内的偏移量 (以字节为单位) 以及要压缩的缓冲区数据的大小 (也以字节为单位)。该函数将返回压缩缓冲区作为新缓冲区,如果由于任何原因失败,则返回 -1

该函数不会改变原始缓冲区。

 

语法:

buffer_compress(buffer, offset, size);

参数类型描述
bufferBuffer要压缩的缓冲区。
offsetReal要压缩的缓冲区内的偏移量 (以字节为单位)。
sizeReal要压缩的缓冲区的大小 (以字节为单位)。

 

返回:

Buffer or -1 in case anything went wrong

 

例子:

var _srcBuff = buffer_create(1024, buffer_grow, 1);
buffer_write(_srcBuff, global.DataString);
var _cmpBuff = buffer_compress(_srcBuff, 0, buffer_tell(_srcBuff));
buffer_save(_cmpBuff, "Player_Save.sav");
buffer_delete(_srcBuff);
buffer_delete(_cmpBuff);

上面的代码创建一个缓冲区,然后用字符串中的数据填充它。然后压缩并保存该缓冲区,并删除源缓冲区和压缩缓冲区。