C#对GZIP压缩和解压
- /// <summary>
- /// 将Gzip的byte数组读取为字符串
- /// </summary>
- /// <param name="bytes"></param>
- /// <param name="encoding"></param>
- /// <returns></returns>
- public static string ReadGzip(byte[] bytes, string encoding = "GB2312")
- {
- string result = string.Empty;
- using (MemoryStream ms = new MemoryStream(bytes))
- {
- using (GZipStream decompressedStream = new GZipStream(ms, CompressionMode.Decompress))
- {
- using (StreamReader sr = new StreamReader(decompressedStream, Encoding.GetEncoding(encoding)))
- {
- result = sr.ReadToEnd();
- }
- }
- }
- return result;
- }
- /// <summary>
- /// 将字符串压缩成Gzip格式的byte数组
- /// </summary>
- /// <param name="str"></param>
- /// <param name="encoding"></param>
- /// <returns></returns>
- public static byte[] WriteGzip(string str, string encoding = "GB2312")
- {
- byte[] rawData = System.Text.Encoding.UTF8.GetBytes(str);
- using (MemoryStream ms = new MemoryStream())
- {
- GZipStream compressedzipStream = new GZipStream(ms, CompressionMode.Compress, true);
- compressedzipStream.Write(rawData, , rawData.Length);
- compressedzipStream.Close();
- return ms.ToArray();
- }
- }
- /// <summary>
- /// 解压Gzip文件,返回字符串
- /// </summary>
- /// <param name="fileName">文件全路径</param>
- /// <returns>字符串</returns>
- public static string ReadGzipFromFile(string fileName)
- {
- using (FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read))
- {
- using (GZipStream decompressedStream = new GZipStream(fileStream, CompressionMode.Decompress))
- {
- StreamReader reader = new StreamReader(decompressedStream);
- string result = reader.ReadToEnd();//重点
- reader.Close();
- return result;
- }
- }
- }
外面可以通过File.ReadAllBytes()和File.WriteAllBytes()进行文件的操作。而GZIP文件的后缀名为.gz
灵感来源:http://www.cnblogs.com/gengaixue/p/3300664.html
C#对GZIP压缩和解压的更多相关文章
- VB6进行GZIP解压&C#进行GZIP压缩和解压
VB进行GZIP解压的,DLL是系统的,如果没有 [点击下载] Option Explicit 'GZIP API '----------------------------------------- ...
- 对数据进行GZIP压缩和解压
public class GzipUtils { /** * 对字符串进行gzip压缩 * @param data * @return * @throws IOException */ public ...
- Gzip压缩和解压
/// <summary> /// 将传入字符串以GZip算法压缩后,返回Base64编码字符 /// </summary> /// <param name=" ...
- java GZIP压缩和解压
最近碰到了一个按GZIP解压指定的输入流数据,备份下 import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream ...
- 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 ...
随机推荐
- 浏览器测试string是否为图片
在浏览器中直接打如下代码.其中adcd为图片转成的string data:image/jpeg;base64,abcd
- yii2csrf攻击
第一种解决办法是关闭Csrf public function init(){ $this->enableCsrfValidation = false; } 第二种解决办法是在form表单中加入隐 ...
- uva12083 二分图 求最大独立集 转化为求最大匹配 由题意推出二分图
这题大白书例题 : Frank 是一个思想有些保守的高中老师,有一次,他需要带一些学生出去旅行,但又怕其中一些学生在旅途中萌生爱意.为了降低这种事情的发生概率,他决定确保带出去的任意两个学生至少要满足 ...
- MySQL从删库到跑路_高级(七)——事务和锁
作者:天山老妖S 链接:http://blog.51cto.com/9291927 一.事务简介 1.事务简介 事务(Transaction)是指作为单个逻辑工作单元执行的一系列操作. 2.事物的特效 ...
- MyBatis学习笔记(八)——Mybatis3.x与Spring4.x整合
转自孤傲苍狼的博客:http://www.cnblogs.com/xdp-gacl/p/4271627.html 一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: mvn arc ...
- Python中的is和==的区别,==判断值是否相等,is判断地址是否一致
Python中的is和==的区别 Python中的对象包含三要素:id.type.value. 其中id用来唯一标示一个对象,type标识对象的类型,value是对象的值. is判断的是a对象是否就是 ...
- 在thinkphp里面执行原生的sql语句
在thinkphp里面执行原生的sql语句 怎样在thinkphp里面执行原生的sql语句? $Model = new Model();//或者 $Model = D(); 或者 $Model = M ...
- C++结构体字节对齐
转自:http://www.cnblogs.com/JensenCat/p/4770171.html 这里是头文件结构的定义: 一个非字节对齐结构体_tagTest2 一个字节对齐_tagTest3 ...
- 开启你的kali linux DIY之旅
更新源 首先 是kali2016.2更新源的问题,网上找了好久,都不是很满意.后来把kali 2016.2安装到实体机中才发现,里面自带了更新源.下面我把这个官方自带更新源分享出来(速度蛮快的) de ...
- TED #09# You don't have to be an expert to solve big problems
Tapiwa Chiwewe: You don't have to be an expert to solve big problems Collection noticed a haze hangi ...