📅  最后修改于: 2023-12-03 14:39:43.110000             🧑  作者: Mango
在 C# 中,我们可以使用 System.IO.Compression
命名空间下的 GzipStream
类来对字节数组进行 Gzip 压缩,以下是具体的实现过程:
byte[] dataToCompress = new byte[] { 1, 2, 3, 4, 5 };
using System.IO.Compression;
using (MemoryStream compressedStream = new MemoryStream())
{
using (GzipStream compressionStream = new GzipStream(compressedStream, CompressionLevel.Optimal))
{
compressionStream.Write(dataToCompress, 0, dataToCompress.Length);
}
byte[] compressedData = compressedStream.ToArray();
}
以上代码中,我们指定 Gzip 压缩级别为 CompressionLevel.Optimal
,这意味着编写格式最小的压缩输出,但需要一定的压缩时间。
byte[] compressedData = compressedStream.ToArray();
使用 MemoryStream.ToArray()
方法可将压缩后的字节数组转换成 byte[]
类型。
如此,我们便成功地对字节数组进行 Gzip 压缩,以下是完整的代码片段:
using System.IO.Compression;
byte[] dataToCompress = new byte[] { 1, 2, 3, 4, 5 };
using (MemoryStream compressedStream = new MemoryStream())
{
using (GzipStream compressionStream = new GzipStream(compressedStream, CompressionLevel.Optimal))
{
compressionStream.Write(dataToCompress, 0, dataToCompress.Length);
}
byte[] compressedData = compressedStream.ToArray();
}
希望以上内容能够对大家有所帮助!