如何从C#中的内存流中解压数据
How to decompress data from a memory stream in C#
我正在尝试解压压缩的 base64 编码字符串,但不知道如何解压。它不是 gzip,我正在尝试解压缩它而不必写入文件。
尝试了 Unzip a memorystream (Contains the zip file) and get the files 的建议,并最终找到了一个可以使用的方法,并对其进行了一些更改以将其用作一种方法。
public static string DecompressData(string val)
{
byte[] bytes = Convert.FromBase64String(val).ToArray();
Stream data = new MemoryStream(bytes);
Stream unzippedEntryStream;
MemoryStream ms = new MemoryStream();
ZipArchive archive = new ZipArchive(data);
foreach (ZipArchiveEntry entry in archive.Entries)
{
unzippedEntryStream = entry.Open();
unzippedEntryStream.CopyTo(ms);
}
string result = Encoding.UTF8.GetString(ms.ToArray());
return result;
}
我正在尝试解压压缩的 base64 编码字符串,但不知道如何解压。它不是 gzip,我正在尝试解压缩它而不必写入文件。
尝试了 Unzip a memorystream (Contains the zip file) and get the files 的建议,并最终找到了一个可以使用的方法,并对其进行了一些更改以将其用作一种方法。
public static string DecompressData(string val)
{
byte[] bytes = Convert.FromBase64String(val).ToArray();
Stream data = new MemoryStream(bytes);
Stream unzippedEntryStream;
MemoryStream ms = new MemoryStream();
ZipArchive archive = new ZipArchive(data);
foreach (ZipArchiveEntry entry in archive.Entries)
{
unzippedEntryStream = entry.Open();
unzippedEntryStream.CopyTo(ms);
}
string result = Encoding.UTF8.GetString(ms.ToArray());
return result;
}