添加对ICSharpCode.SharpZipLib的引用。

using ICSharpCode.SharpZipLib.BZip2;

/// <summary>
/// 压缩
/// </summary>
/// <param name="text"></param>
/// <returns></returns>
private static string Compress(string text)
{
if (text.IsNullOrEmpty())
{
return string.Empty;
}
using (MemoryStream mZipStreamIn = new MemoryStream(Encoding.UTF8.GetBytes(text)))
{
using (MemoryStream mZipStreamOut = new MemoryStream())
{
BZip2.Compress(mZipStreamIn, mZipStreamOut, true, );
return Convert.ToBase64String(mZipStreamOut.ToArray());
}
}
}
/// <summary>
/// 解压缩
/// </summary>
/// <param name="zipText"></param>
/// <returns></returns>
private static string DeCompress(string zipText)
{
if (zipText.IsNullOrEmpty())
{
return string.Empty;
}
using (MemoryStream mZipStreamIn = new MemoryStream(Convert.FromBase64String(zipText)))
{
using (MemoryStream mZipStreamOut = new MemoryStream())
{
BZip2.Decompress(mZipStreamIn, mZipStreamOut, false);
return Encoding.UTF8.GetString(mZipStreamOut.ToArray());
}
}
}

对字符串的压缩与压缩文件一样,越大效果越明显,对很小的文件或者字符串进行压缩,得到的结果往往比压缩之前还要大

最新文章

  1. Reprint: ADB is Not Recognized as an internal or external command Fix
  2. showModalDialog 刷新问题,在页面中跳转问题
  3. 【BZOJ】1998: [Hnoi2010]Fsk物品调度
  4. 《软件性能测试与LoadRunner实战教程》新书上市
  5. 使用pathogen管理Vim插件并托管到Github
  6. Go对OO的选择
  7. 【jmeter】ANT批量执行Jmeter脚本
  8. Unity3D题目,Unity中利用GUI输出九九乘法表
  9. Eclipse设置合适的字体
  10. Fix Elementary Boot Screen (plymouth) After Installing Nvidia Drivers
  11. C# 初步学习
  12. 关于AJAX使用中出现中文乱码的问题
  13. Hive:添加、删除分区
  14. [Hive_5] Hive 的 JDBC 编程
  15. centos----------centos下如何安装phpstorm
  16. Promise.then的第二个参数与catch的区别
  17. sql注入(一)
  18. 821. Shortest Distance to a Character
  19. 【codeforces666E】Forensic Examination 广义后缀自动机+树上倍增+线段树合并
  20. 【Revit API】改变填充区域的填充样式

热门文章

  1. python 实现字符串转整型
  2. BBScan — 一个信息泄漏批量扫描脚本
  3. Where can I check in?
  4. cookie 跨域的问题
  5. 宋牧春: Linux设备树文件结构与解析深度分析(2) 【转】
  6. Ubuntu 上更新 Flash 插件
  7. 64_q2
  8. How to insert a segment of noise to music file
  9. 禁用quartz自动检查更新
  10. JS~jwPlayer为js预留的回调方法大总结