/// <summary> /// 解压缩字节数组 /// </summary> /// <param name="data">待解压缩的字节数组</param> /// <param name="isClearData">解压缩完成后,是否清除待解压缩字节数组里面的内容</param> /// <returns>已解压的字节数组</returns> public byte[] TarDeCompress(byte[] data, bool isClearData = true) { byte[] bytes = null; using (MemoryStream o = new MemoryStream()) { using (MemoryStream ms = new MemoryStream(data)) { using (Stream s = new TarInputStream(ms)) { s.Flush(); int size = 0; byte[] buffer = new byte[BUFFER_LENGTH]; while ((size = s.Read(buffer, 0, buffer.Length)) > 0) { o.Write(buffer, 0, size); } } } bytes = o.ToArray(); } if (isClearData) { Array.Clear(data, 0, data.Length); } return(bytes); }
// Token: 0x0600001F RID: 31 RVA: 0x00002EB4 File Offset: 0x000010B4 public static byte[] TarDeCompress(byte[] data, bool isClearData = true) { byte[] result = null; using (MemoryStream memoryStream = new MemoryStream()) { using (MemoryStream memoryStream2 = new MemoryStream(data)) { using (Stream stream = new TarInputStream(memoryStream2)) { stream.Flush(); byte[] array = new byte[2048]; int count; while ((count = stream.Read(array, 0, array.Length)) > 0) { memoryStream.Write(array, 0, count); } } } result = memoryStream.ToArray(); } if (isClearData) { Array.Clear(data, 0, data.Length); } return(result); }