1. /// <summary>
  2. /// 将传入字符串以GZip算法压缩后,返回Base64编码字符
  3. /// </summary>
  4. /// <param name="rawString">需要压缩的字符串</param>
  5. /// <returns>压缩后的Base64编码的字符串</returns>
  6. public string GZipCompressString(string rawString)
  7. {
  8. if (string.IsNullOrEmpty(rawString) || rawString.Length == 0)
  9. {
  10. return "";
  11. }
  12. else
  13. {
  14. byte[] rawData = System.Text.Encoding.UTF8.GetBytes(rawString.ToString());
  15. byte[] zippedData = Compress(rawData);
  16. return (string)(Convert.ToBase64String(zippedData));
  17. }
  18. }
  19.  
  20. /// <summary>
  21. /// GZip压缩
  22. /// </summary>
  23. /// <param name="rawData"></param>
  24. /// <returns></returns>
  25. static byte[] Compress(byte[] rawData)
  26. {
  27. MemoryStream ms = new MemoryStream();
  28. GZipStream compressedzipStream = new GZipStream(ms, CompressionMode.Compress, true);
  29. compressedzipStream.Write(rawData, 0, rawData.Length);
  30. compressedzipStream.Close();
  31. return ms.ToArray();
  32. }
  33. /// <summary>
  34. /// 将传入的二进制字符串资料以GZip算法解压缩
  35. /// </summary>
  36. /// <param name="zippedString">经GZip压缩后的二进制字符串</param>
  37. /// <returns>原始未压缩字符串</returns>
  38. public static string GZipDecompressString(string zippedString)
  39. {
  40. if (string.IsNullOrEmpty(zippedString) || zippedString.Length == 0)
  41. {
  42. return "";
  43. }
  44. else
  45. {
  46. byte[] zippedData = Convert.FromBase64String(zippedString.ToString());
  47. using (var ms = new MemoryStream(zippedData))
  48. {
  49. using (var zip = new GZipStream(ms, CompressionMode.Decompress))
  50. {
  51. using (var reader = new StreamReader(zip))
  52. {
  53. return reader.ReadToEnd();
  54. }
  55. }
  56. }
  57. }
  58. }

  

Gzip压缩和解压的更多相关文章

  1. VB6进行GZIP解压&C#进行GZIP压缩和解压

    VB进行GZIP解压的,DLL是系统的,如果没有 [点击下载] Option Explicit 'GZIP API '----------------------------------------- ...

  2. 对数据进行GZIP压缩和解压

    public class GzipUtils { /** * 对字符串进行gzip压缩 * @param data * @return * @throws IOException */ public ...

  3. java GZIP压缩和解压

    最近碰到了一个按GZIP解压指定的输入流数据,备份下 import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream ...

  4. C#对GZIP压缩和解压

    /// <summary> /// 将Gzip的byte数组读取为字符串 /// </summary> /// <param name="bytes" ...

  5. C#实现通过Gzip来对数据进行压缩和解压

    C#实现通过Gzip来对数据进行压缩和解压 internal static byte[] Compress(byte[] data) { using (var compressedStream = n ...

  6. 使用pako.js实现gzip的压缩和解压

    poko.js可至Github下载:https://github.com/nodeca/pako 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...

  7. linux常用命令:4文件压缩和解压命令

    文件压缩和解压命令 压缩命令:gzip.tar[-czf].zip.bzip2 解压缩命令:gunzip.tar[-xzf].unzip.bunzip2 1. 命令名称:gzip 命令英文原意:GNU ...

  8. .net文件压缩和解压及中文文件夹名称乱码问题

    /**************************注释区域内为引用http://www.cnblogs.com/zhaozhan/archive/2012/05/28/2520701.html的博 ...

  9. Linux下的压缩和解压

    1. gzip, bzip2 能否直接压缩目录呢?不可以 2. 请快速写出,使用gzip和bzip2压缩和解压一个文件的命令.压缩:gzip 1.txt bzip2 1.txt解压:gzip -d 1 ...

随机推荐

  1. 使用Linux之安装jdk 7

    工具/原料   jdk7源码安装压缩包 方法/步骤     卸载OpenJDK rpm -qa | grep java rpm -e --nodeps java-1.6.0-openjdk-1.6.0 ...

  2. centos6.6 下 安装 nginx

    1.安装nginx需要pcre的依赖,请安装好pcre.假设安装目录如下: /usr/local/pcre-8.38 源码目录如下: /usr/src/pcre-8.38 2.下载nginx安装压缩包 ...

  3. Apache虚拟主机/端口多开

    Apache就是强大啊,简单配置一下就可以再开启另一个端口的web服务. 笔者最近使用XAMPP架设php服务端.有一些特别的需求:同样的代码,需要开始不同的端口, 协议类型提供web服务给客户端(h ...

  4. Kendo UI 的弹框

    弹出代码: "use strict"; (function (kendo) { kendo.messageShow = function (message, option) { v ...

  5. svn.SvnX

    1. 使用SvnX的入门 http://www.divvun.no/doc/tools/docu-svn-user-svnx.html 2. SvnX的代码 https://code.google.c ...

  6. [BAT]通过schtasks.exe远程调用windows 2008 server上的计划任务,提示ERROR : Access is denied

    在windows 2008 server 上建了一个计划任务,想通过命令 schtasks /run /tn "IPADForAdvisor_QA_APITest" /s SZPC ...

  7. linux下第一个C程序

    首先,用vi编辑器新建一个文件 $vi hi.c 输入以下的程序(怎么用vi不说了) #include <stdio.h> int main() { printf("hello. ...

  8. php 事务处理,ActiveMQ的发送消息,与处理消息

    可以通过链式发送->处理->发送...的方式处理类似事务型业务逻辑 比如 发送一个注册消息,消息队列处理完注册以后,紧接着发送一个新手优惠券赠送,赠送完再发一个其它后续逻辑处理的消息等待后 ...

  9. 26. The Greenhouse Effect and Its Consequences 温室效应及其后果

    26. The Greenhouse Effect and Its Consequences 温室效应及其后果 ①The greenhouse effect causes trouble by rai ...

  10. Django入门与实践-第11章:URL 分发(完结)

    http://127.0.0.1:8000http://127.0.0.1:8000/boards/1/http://127.0.0.1:8000/boards/2/http://127.0.0.1: ...