我想與MemoryStream一起使用GZipStream。我寫我需要的所有字節,然後關閉gzip流,所以之後我需要從內存流中獲取壓縮緩衝區,而不分配額外的內存(方法ToArray返回必要的字節數組,但它創建新的字節數組,然後將所有字節從緩衝區複製到新數組)。 據我所知,我只能使用GetBuffer()返回整個緩衝區,所以在這種情況下,我還有另一個問題: 是否緩衝區末尾的所有零字節都不屬於壓縮數據?換句話說,我可以使用GetBuffer並假定壓縮的緩衝區以最後的非零字節結束嗎?是否有可能獲得封閉內存流的長度?
同樣在很多情況下,我可以在關閉GZip流之前使用MemoryStream的長度,並且在GZip流關閉後只需添加10即可適用於所有情況?
「剛剛加10」正在玩火。 –
我同意,這只是可以肯定的,謝謝! – Leo