此函数使用 zlib 压缩 压缩部分 (或全部) 缓冲区,并返回包含压缩数据的新缓冲区。
您提供要压缩的缓冲区 (由 buffer_create 返回)、要使用的缓冲区内的偏移量 (以字节为单位) 以及要压缩的缓冲区数据的大小 (也以字节为单位)。该函数将返回压缩缓冲区作为新缓冲区,如果由于任何原因失败,则返回 -1。
该函数不会改变原始缓冲区。
buffer_compress(buffer, offset, size);
参数 | 类型 | 描述 |
---|---|---|
buffer | Buffer | 要压缩的缓冲区。 |
offset | Real | 要压缩的缓冲区内的偏移量 (以字节为单位)。 |
size | Real | 要压缩的缓冲区的大小 (以字节为单位)。 |
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);
上面的代码创建一个缓冲区,然后用字符串中的数据填充它。然后压缩并保存该缓冲区,并删除源缓冲区和压缩缓冲区。