如何从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;
    }