教程集 www.jiaochengji.com
教程集 >  脚本编程  >  Asp.net  >  正文 c#压缩数据传输的代码一例

c#压缩数据传输的代码一例

发布时间:2016-02-26   编辑:jiaochengji.com
用c#实现简单的数据压缩传递,减少带宽占用,提高访问速度,有需要的朋友,可以参考下。

代码如下:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.IO;
using ICSharpCode.SharpZipLib.BZip2;
using System.Text;

namespace Common
{
 /// <summary>
 /// 压缩数据传输
 /// http://www.jbxue.com
 /// </summary>
 public class UnZip
 {
  public UnZip()
  {
  }

  #region 返回压缩后的字节数组
  /// <summary>
  /// 返回压缩后的字节数组
  /// </summary>
  /// <param name="data"></param>
  /// <returns></returns>
  public static byte[] Compress(byte[] data)
  {
   if (data == null || data.Length == 0)
   {
    return null;
   }

   MemoryStream inStream = new MemoryStream(data, 0, data.Length);
   MemoryStream outStream = new MemoryStream();
   BZip2.Compress(inStream, outStream,false, data.Length);

   byte[] result = outStream.ToArray();
   inStream.Close();
   outStream.Close();

   return result;
  }
  #endregion

  #region 返回解压后的字节数组
  /// <summary>
  /// 返回解压后的字节数组
  /// </summary>
  /// <param name="data">原始字节数组</param>
  /// <returns></returns>
  public static byte[] Decompress(byte[] data)
  {
   if (data == null || data.Length == 0)
   {
    return null;
   }
   MemoryStream inStream = new MemoryStream(data, 0, data.Length);
   MemoryStream outStream = new MemoryStream();
   BZip2.Decompress(inStream, outStream,false);
   
   byte[] result = outStream.ToArray();
   inStream.Close();
   outStream.Close();

   return result;
  }

  #endregion
 }
}

您可能感兴趣的文章:
c#压缩数据传输的代码一例
PHP开启gzip压缩的二种方法
IIS压缩及性能优化
asp.net在线备份、压缩与修复access数据库
iis中启用页面HTTP压缩(页面Gzip压缩)
Nginx gzip压缩配置指南
Nginx的Gzip压缩配置
apache启用gzip压缩方法
php程序实现页面gzip传输的例子
教你如何配置Apache的Gzip模块

[关闭]
~ ~