gpt4 book ai didi

c# - 我想压缩一个 byte[] 并返回一个 byte[]

转载 作者:太空宇宙 更新时间:2023-11-03 20:17:03 25 4
gpt4 key购买 nike

我想在 C# 中编写一个方法,它接受一个字节 [] 并将其压缩到另一个字节 [],但我只能找到从一个目录压缩到另一个目录的库(ZipFile library)。

是否可以只使用 .NET 平台?

最佳答案

Is it possible to do using only the .NET platform?

当然 - 这正是 System.IO.Compression命名空间是为了。例如,您可以使用 GZipStream类(class)。使用MemoryStream接收压缩后的数据,然后可以调用ToArray之后。

示例代码(未经测试):

public static byte[] Compress(byte[] data)
{
using (var output = new MemoryStream())
{
using (var compression = new GZipStream(output, CompressionMode.Compress))
{
compression.Write(data, 0, data.Length);
}
return output.ToArray();
}
}

public static byte[] Compress(byte[] data)
{
using (var output = new MemoryStream())
{
using (var compression = new GZipStream(output, CompressionMode.Decompress))
{
        compression.Write(data, 0, data.Length);
    }
return output.ToArray();
}
}

您还可以使用 DeflateStream 作为替代压缩形式。

关于c# - 我想压缩一个 byte[] 并返回一个 byte[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16070733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com