.net DotNetZip不压缩我的字符串
我使用的是DotNetZip版本1.8.4.5。我现在无法升级 我正在从服务器向客户端应用程序发送一个大列表。我正在将列表序列化为字符串变量(contentsAsString)。然后,我将contentsAsString压缩到MemoryStream中,并将字节数组传递回我的客户机。我的压缩字节数组长度是2087188(1.99 MB) 如果我获取contentsAsString的值并将其保存到一个文本文件中,则该文件的大小为1.99MB(同上)。如果使用Windows压缩并压缩文本文件,则生成的zip文件为132 KB 为什么我的MemoryStream没有压缩到132 KB?以下是我正在使用的代码:.net DotNetZip不压缩我的字符串,.net,compression,dotnetzip,.net,Compression,Dotnetzip,我使用的是DotNetZip版本1.8.4.5。我现在无法升级 我正在从服务器向客户端应用程序发送一个大列表。我正在将列表序列化为字符串变量(contentsAsString)。然后,我将contentsAsString压缩到MemoryStream中,并将字节数组传递回我的客户机。我的压缩字节数组长度是2087188(1.99 MB) 如果我获取contentsAsString的值并将其保存到一个文本文件中,则该文件的大小为1.99MB(同上)。如果使用Windows压缩并压缩文本文件,则生成
private byte[] zipContents<T>(List<T> contents)
{
using (Ionic.Zip.ZipFile zip = new Ionic.Zip.ZipFile())
{
using (MemoryStream ms = new MemoryStream())
{
string contentsAsString = Utility.SerializeListToString<T>(contents);
zip.AddEntry("stream.zip", null, contentsAsString);
zip.Save(ms);
return ms.ToArray();
}
}
}
private byte[]zipContents(列表内容)
{
使用(Ionic.Zip.ZipFile Zip=new-Ionic.Zip.ZipFile())
{
使用(MemoryStream ms=new MemoryStream())
{
字符串contentsAsString=Utility.SerializeListToString(内容);
AddEntry(“stream.zip”,null,contentsAsString);
zip.Save(ms);
返回ToArray女士();
}
}
}
我不知道有这么酷的库,但看看他们的参考资料,我发现了一些关于压缩方法的东西
这有帮助吗
我还发现:
我不知道有这么酷的库,但看看他们的参考资料,我发现了一些关于压缩方法的东西 这有帮助吗 我还发现:
请注意,如果GZIP或Deflate压缩也适合您,.NET Framework(2.0+)为流提供GZIP和Deflate压缩(可在命名空间中找到)请注意,如果GZIP或Deflate压缩也适合您,.NET Framework(2.0+)为流提供GZIP和Deflate压缩(在名称空间中找到)正如我在评论中提到的,使用最新的1.9版本的DotNetZip进行压缩,正如我所期望的那样。找不到1.8.4.5进行测试,因此我认为最好升级
谢谢。正如我在评论中提到的,使用最新的1.9版本的DotNetZip进行压缩,正如我所期望的那样。无法找到1.8.4.5进行测试,因此我认为最好升级
谢谢。我找不到要下载的1.8.4.5,但我使用了最新的1.9,使用您的代码可以将1.87mb的文本数据压缩到311kb。@BeemerGuy--似乎唯一的解决办法是升级。我升级了,也可以让它压缩字符串。谢谢。如果您想将其作为答案提交,我将接受。我找不到1.8.4。5下载,但我使用了最新的1.9,并且使用您的代码能够将1.87mb的文本数据压缩为311kb。@BeemerGuy--似乎唯一的解决方案是升级。我升级了,也可以让它压缩字符串。谢谢。如果您想将其作为答案提交,我将接受它。在Silverlight中Gzip不可用:(Gzip在Silverlight中不可用:(