//壓縮字節
//1.創建壓縮的數據流
//2.設定compressStream為存放被壓縮的文件流,並設定為壓縮模式
//3.將需要壓縮的字節寫到被壓縮的文件流
public static byte[] CompressBytes(byte[] bytes)
{
using (MemoryStream compressStream = new MemoryStream())
{
using (var zipStream = new GZipStream(compressStream, CompressionMode.Compress))
zipStream.Write(bytes, 0, bytes.Length);
return compressStream.ToArray();
}
}
//解壓縮字節
//1.創建被壓縮的數據流
//2.創建zipStream對象,並傳入解壓的文件流
//3.創建目標流
//4.zipStream拷貝到目標流
//5.返回目標流輸出字節
public static byte[] Decompress(byte[] bytes)
{
using (var compressStream = new MemoryStream(bytes))
{
using (var zipStream = new GZipStream(compressStream, CompressionMode.Decompress))
{
using (var resultStream = new MemoryStream())
{
zipStream.CopyTo(resultStream);
return resultStream.ToArray();
}
}
}
}