Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

StreamPeerGZIP

继承: StreamPeer < RefCounted < Object

能够处理 GZIP 和 deflate 压缩/解压缩的流对等体。

描述

这个类能够使用 GZIP/deflate 对数据进行流式压缩或解压缩。压缩或解压缩经过网络发送的文件时尤其有用,不必事先分配内存。

使用 start_compression(或 start_decompression)开启流之后,在这个流上调用 StreamPeer.put_partial_data 会对数据进行压缩(或解压缩)并写入内部缓冲区。调用 StreamPeer.get_available_bytes 会返回内部缓冲区中待处理的字节数,StreamPeer.get_partial_data 会从中获取压缩后(或解压后)的字节。流结束后,你必须调用 finish 来确保正确清空内部缓冲区(请务必最后再调用一次 StreamPeer.get_available_bytes,检查此时是否还有需要读取的数据)。

方法

void

clear ( )

Error

finish ( )

Error

start_compression ( bool use_deflate=false, int buffer_size=65535 )

Error

start_decompression ( bool use_deflate=false, int buffer_size=65535 )


方法说明

void clear ( )

清空该流,重设内部状态。


Error finish ( )

终止该流,对缓冲中剩余的数据块进行压缩或解压缩。


Error start_compression ( bool use_deflate=false, int buffer_size=65535 )

开始压缩模式的流,缓冲区大小为 buffer_size,如果 use_deflatetrue 则使用 deflate 而不是 GZIP。


Error start_decompression ( bool use_deflate=false, int buffer_size=65535 )

开始解压模式的流,缓冲区大小为 buffer_size,如果 use_deflatetrue 则使用 deflate 而不是 GZIP。