Gzip压缩和解压
- /// <summary>
- /// 将传入字符串以GZip算法压缩后,返回Base64编码字符
- /// </summary>
- /// <param name="rawString">需要压缩的字符串</param>
- /// <returns>压缩后的Base64编码的字符串</returns>
- public string GZipCompressString(string rawString)
- {
- if (string.IsNullOrEmpty(rawString) || rawString.Length == 0)
- {
- return "";
- }
- else
- {
- byte[] rawData = System.Text.Encoding.UTF8.GetBytes(rawString.ToString());
- byte[] zippedData = Compress(rawData);
- return (string)(Convert.ToBase64String(zippedData));
- }
- }
- /// <summary>
- /// GZip压缩
- /// </summary>
- /// <param name="rawData"></param>
- /// <returns></returns>
- static byte[] Compress(byte[] rawData)
- {
- MemoryStream ms = new MemoryStream();
- GZipStream compressedzipStream = new GZipStream(ms, CompressionMode.Compress, true);
- compressedzipStream.Write(rawData, 0, rawData.Length);
- compressedzipStream.Close();
- return ms.ToArray();
- }
- /// <summary>
- /// 将传入的二进制字符串资料以GZip算法解压缩
- /// </summary>
- /// <param name="zippedString">经GZip压缩后的二进制字符串</param>
- /// <returns>原始未压缩字符串</returns>
- public static string GZipDecompressString(string zippedString)
- {
- if (string.IsNullOrEmpty(zippedString) || zippedString.Length == 0)
- {
- return "";
- }
- else
- {
- byte[] zippedData = Convert.FromBase64String(zippedString.ToString());
- using (var ms = new MemoryStream(zippedData))
- {
- using (var zip = new GZipStream(ms, CompressionMode.Decompress))
- {
- using (var reader = new StreamReader(zip))
- {
- return reader.ReadToEnd();
- }
- }
- }
- }
- }
Gzip压缩和解压的更多相关文章
- VB6进行GZIP解压&C#进行GZIP压缩和解压
VB进行GZIP解压的,DLL是系统的,如果没有 [点击下载] Option Explicit 'GZIP API '----------------------------------------- ...
- 对数据进行GZIP压缩和解压
public class GzipUtils { /** * 对字符串进行gzip压缩 * @param data * @return * @throws IOException */ public ...
- java GZIP压缩和解压
最近碰到了一个按GZIP解压指定的输入流数据,备份下 import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream ...
- C#对GZIP压缩和解压
/// <summary> /// 将Gzip的byte数组读取为字符串 /// </summary> /// <param name="bytes" ...
- C#实现通过Gzip来对数据进行压缩和解压
C#实现通过Gzip来对数据进行压缩和解压 internal static byte[] Compress(byte[] data) { using (var compressedStream = n ...
- 使用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 ...
- linux常用命令:4文件压缩和解压命令
文件压缩和解压命令 压缩命令:gzip.tar[-czf].zip.bzip2 解压缩命令:gunzip.tar[-xzf].unzip.bunzip2 1. 命令名称:gzip 命令英文原意:GNU ...
- .net文件压缩和解压及中文文件夹名称乱码问题
/**************************注释区域内为引用http://www.cnblogs.com/zhaozhan/archive/2012/05/28/2520701.html的博 ...
- Linux下的压缩和解压
1. gzip, bzip2 能否直接压缩目录呢?不可以 2. 请快速写出,使用gzip和bzip2压缩和解压一个文件的命令.压缩:gzip 1.txt bzip2 1.txt解压:gzip -d 1 ...
随机推荐
- 使用Linux之安装jdk 7
工具/原料 jdk7源码安装压缩包 方法/步骤 卸载OpenJDK rpm -qa | grep java rpm -e --nodeps java-1.6.0-openjdk-1.6.0 ...
- centos6.6 下 安装 nginx
1.安装nginx需要pcre的依赖,请安装好pcre.假设安装目录如下: /usr/local/pcre-8.38 源码目录如下: /usr/src/pcre-8.38 2.下载nginx安装压缩包 ...
- Apache虚拟主机/端口多开
Apache就是强大啊,简单配置一下就可以再开启另一个端口的web服务. 笔者最近使用XAMPP架设php服务端.有一些特别的需求:同样的代码,需要开始不同的端口, 协议类型提供web服务给客户端(h ...
- Kendo UI 的弹框
弹出代码: "use strict"; (function (kendo) { kendo.messageShow = function (message, option) { v ...
- svn.SvnX
1. 使用SvnX的入门 http://www.divvun.no/doc/tools/docu-svn-user-svnx.html 2. SvnX的代码 https://code.google.c ...
- [BAT]通过schtasks.exe远程调用windows 2008 server上的计划任务,提示ERROR : Access is denied
在windows 2008 server 上建了一个计划任务,想通过命令 schtasks /run /tn "IPADForAdvisor_QA_APITest" /s SZPC ...
- linux下第一个C程序
首先,用vi编辑器新建一个文件 $vi hi.c 输入以下的程序(怎么用vi不说了) #include <stdio.h> int main() { printf("hello. ...
- php 事务处理,ActiveMQ的发送消息,与处理消息
可以通过链式发送->处理->发送...的方式处理类似事务型业务逻辑 比如 发送一个注册消息,消息队列处理完注册以后,紧接着发送一个新手优惠券赠送,赠送完再发一个其它后续逻辑处理的消息等待后 ...
- 26. The Greenhouse Effect and Its Consequences 温室效应及其后果
26. The Greenhouse Effect and Its Consequences 温室效应及其后果 ①The greenhouse effect causes trouble by rai ...
- 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: ...