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/