using ICSharpCode.SharpZipLib.BZip2; using Org.BouncyCastle.Utilities.Bzip2; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DS.Module.Core.Extensions { public class SharpZipLib { /// /// 数据压缩 /// /// /// public static string Compress(string input) { string result = string.Empty; byte[] buffer = Encoding.UTF8.GetBytes(input); using (MemoryStream outputStream = new MemoryStream()) { using (BZip2OutputStream zipStream = new BZip2OutputStream(outputStream)) { zipStream.Write(buffer, 0, buffer.Length); zipStream.Close(); } return Convert.ToBase64String(outputStream.ToArray()); } } /// /// 数据解压缩 /// /// /// public static string Decompress(string input) { string result = string.Empty; byte[] buffer = Convert.FromBase64String(input); using (Stream inputStream = new MemoryStream(buffer)) { BZip2InputStream zipStream = new BZip2InputStream(inputStream); using (StreamReader reader = new StreamReader(zipStream, Encoding.UTF8)) { //输出 result = reader.ReadToEnd(); } } return result; } } }