Code Bye

在SharpZipLib中应该选择哪一种压缩类型?

我有一个用于文件和文件夹传输的CS应用程序。包含客户端和服务端。目前,我正在尝试通过TCP(Sockets)发送数据,并为数据传输的方式制订了一些规则:如果发送的是包含许多文件的大文件夹,程序将会把这些文件压缩成一个Zip文件,然后再进行传输,服务器端接收后对zip文件进行解压缩。

我决定使用SharpZibLib进行解压缩,使用过程中遇到了一些问题:

我应该为此应用程序选择哪种类型的压缩方式?
我读过一些关于ZIP和GZIP之间的区别,发现GZIP能够更好的压缩并减小最终文件的大小,由于最后并不需要从GZIP文件中提取特殊文件,所以不需要使用ZIP去替代GZIP。但是类库中有许多我不知道的类型,所以请问我的应用程序用GZIP还是用其他类型,哪个压缩类型更好?

  •  

    P.S: 时间的优先级放在第一位,我不关心zip文件压缩后的大小,更关心压缩需要耗费的时间。关于整个使用SharpZipLib的过程就是将大量文件放入单个文件,这将会比一个接一个地发送大量文件更快一些。

答案一:

从速度上进行考虑,你应该使用 Gzipzip 。我推断类库应该会允许你选择压缩等级。你可以尝试使用低等级,例如1到4,对比看看哪个等级的速度和压缩效果对你的应用程序更好。

在相同的压缩效果时, gzip / zip 将在速度上胜过 LZW。我发现当压缩等级为3时,比LZW更快,压缩更好。

bzip2 比 gzip / zip 压缩更好,但是将花费更长时间。其他的选项不是压缩。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明在SharpZipLib中应该选择哪一种压缩类型?