39 lines
1018 B
C#
39 lines
1018 B
C#
using System.IO.Compression;
|
|
|
|
namespace MesETL.Shared.Compression;
|
|
|
|
/// <summary>
|
|
/// Deflate压缩工具类
|
|
/// </summary>
|
|
public static class DeflateArchive
|
|
{
|
|
/// <summary>
|
|
/// 解压Deflate
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
public static byte[] Decompress(byte[] input)
|
|
{
|
|
using var msi = new MemoryStream(input);
|
|
using var mso = new MemoryStream();
|
|
using var ds = new DeflateStream(msi, CompressionMode.Decompress);
|
|
ds.CopyTo(mso);
|
|
ds.Flush();
|
|
return mso.ToArray();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 压缩Deflate
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
public static byte[] Compress(byte[] input)
|
|
{
|
|
using var msi = new MemoryStream(input);
|
|
using var mso = new MemoryStream();
|
|
using var ds = new DeflateStream(mso, CompressionMode.Compress);
|
|
msi.CopyTo(ds);
|
|
ds.Flush();
|
|
return mso.ToArray();
|
|
}
|
|
} |