MSDN文档告诉我以下内容:



看来GZipStream向输出中添加了一些额外的数据(相对于DeflateStream)。我想知道,在哪种情况下使用GZipStream而不是DeflateStream是必不可少的?

最佳答案

放气只是压缩算法。 GZip实际上是一种格式。

如果使用GZipStream压缩文件(并使用扩展名.gz保存文件),则实际上可以由WinZip或gzip工具之类的归档程序打开结果。如果使用DeflateStream压缩,这些工具将无法识别该文件。

如果压缩文件旨在由这些工具打开,则必须使用GZipStream而不是DeflateStream

如果您要通过不可靠的介质(即Internet连接)传输大量数据,并且不使用诸如TCP/IP之类的纠错协议(protocol),我也认为这很重要。例如,您可能正在通过串行端口,原始套接字或UDP进行传输。在这种情况下,您绝对希望以GZip格式嵌入CRC信息,以确保数据正确。

关于c# - 是GZipStream还是DeflateStream类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2599080/

10-13 05:56