我有一个经过Gzip压缩过的数据,我想在C#中解压,但是在解压的时候我遇到了一些奇怪的问题。
解压时它报错 System.IO.InvalidDataException:“The archive entry was compressed using an unsupported compression method.”
我很确定这个数据是一个GZip压缩过的数据,因为相同的代码在 .NET Framework 4.7.2 上可以运行,但到了.NET6.0就有这个很奇怪的报错
代码中的 m2.txt
https://wwt.lanzoul.com/iAVBB0b2kqbg
密码:1hot
using System.IO.Compression;
using System.Text;
byte[] f = File.ReadAllBytes("C:\\Users\\16490\\Desktop\\m2.txt");
MemoryStream memoryStream = new MemoryStream(f);
GZipStream gZipStream = new GZipStream(memoryStream, CompressionMode.Decompress);
MemoryStream memoryStream1 = new MemoryStream();
memoryStream1.Position = 0;
gZipStream.CopyTo(memoryStream1); // .Net6.0 System.IO.InvalidDataException:“The archive entry was compressed using an unsupported compression method.”
byte[] buffer = memoryStream1.ToArray();
buffer = buffer.Skip(16).ToArray();
Console.WriteLine(Encoding.UTF8.GetString(buffer));
.NET6.0
在.NET6.0中也能解压这个数据
m2.txt也是用gzipstream生成的?是的话framework和core都可以解压。这个文件换了framework 4.6-
下的没法解压,报错。只有4.7.2+的framework才能解压