【发布时间】:2017-09-24 11:45:12
【问题描述】:
我有这种解压方法,我想根据它做一个压缩方法。谁能帮助我? (我试过自己写但没有用)
解压方式:
public static byte[] Decompress(byte[] data)
{
MemoryStream memoryStream = new MemoryStream();
memoryStream.Write(data, 0, data.Length);
memoryStream.Position = 0L;
GZipStream gZipStream = new GZipStream(memoryStream, CompressionMode.Decompress, true);
MemoryStream memoryStream2 = new MemoryStream();
byte[] array = new byte[64];
for (int i = gZipStream.Read(array, 0, array.Length); i > 0; i = gZipStream.Read(array, 0, array.Length))
{
memoryStream2.Write(array, 0, i);
}
gZipStream.Close();
return memoryStream2.ToArray();
}
这就是我尝试编写 Compress 方法的方式,但是当我将其解压缩回来时没有得到正确的结果:
public static byte[] Compress(byte[] data)
{
MemoryStream memoryStream = new MemoryStream();
memoryStream.Write(data, 0, data.Length);
memoryStream.Position = 0L;
GZipStream gZipStream = new GZipStream(memoryStream, CompressionMode.Compress, false);
byte[] array = new byte[64];
gZipStream.Write(array, 0, array.Length);
gZipStream.Close();
return memoryStream.ToArray();
}
【问题讨论】:
-
您有具体问题吗?请阅读How to Ask。
-
我没有其他规范,我想在解压的基础上制作压缩方法。
-
那就试着去做吧。如果您遇到一些特定问题 - 寻求解决方案。
-
我编辑了我的问题,请立即检查。
-
请澄清您的具体问题或添加其他详细信息以准确突出您的需要。正如目前所写的那样,很难准确地说出你在问什么。请参阅How to Ask 页面以获得澄清此问题的帮助。
标签: c# gzip compression