我想与MemoryStream一起使用GZipStream。我写我需要的所有字节,然后关闭gzip流,所以之后我需要从内存流中获取压缩缓冲区,而不分配额外的内存(方法ToArray返回必要的字节数组,但它创建新的字节数组,然后将所有字节从缓冲区复制到新数组)。 据我所知,我只能使用GetBuffer()返回整个缓冲区,所以在这种情况下,我还有另一个问题: 是否缓冲区末尾的所有零字节都不属于压缩数据?换句话说,我可以使用GetBuffer并假定压缩的缓冲区以最后的非零字节结束吗?是否有可能获得封闭内存流的长度?
同样在很多情况下,我可以在关闭GZip流之前使用MemoryStream的长度,并且在GZip流关闭后只需添加10即可适用于所有情况?
“刚刚加10”正在玩火。 –
我同意,这只是可以肯定的,谢谢! – Leo