字符串压缩
/// <summary>
/// 字符串压缩
/// </summary>
/// <param name="text"></param>
/// <returns></returns>
public static string CompressString(string text)
{
byte[] buffer = Encoding.UTF8.GetBytes(text);
using (var memoryStream = new MemoryStream())
{
using (var gzipStream = new GZipStream(memoryStream, CompressionMode.Compress, true))
{
gzipStream.Write(buffer, 0, buffer.Length);
}
return Convert.ToBase64String(memoryStream.ToArray());
}
}
字符串解压
/// <summary>
/// 字符串解压
/// </summary>
/// <param name="compressedText"></param>
/// <returns></returns>
public static string DecompressString(string compressedText)
{
try
{
byte[] gzipBuffer = Convert.FromBase64String(compressedText);
using (var memoryStream = new MemoryStream(gzipBuffer))
{
using (var gzipStream = new GZipStream(memoryStream, CompressionMode.Decompress))
{
using (var reader = new StreamReader(gzipStream))
{
return reader.ReadToEnd();
}
}
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
return "";
}
}