c#使用SharpZipLib对二进制数据进行压缩和解压
首先需要下载SharpZipLib,下载地址:http://icsharpcode.github.io/SharpZipLib/
需要引入命名空间:
- using ICSharpCode.SharpZipLib.GZip;
- using System.IO;
压缩:
- public static byte[] CompressGZip(byte[] rawData)
- {
- MemoryStream ms = new MemoryStream();
- GZipOutputStream compressedzipStream = new GZipOutputStream(ms);
- compressedzipStream.Write(rawData, 0, rawData.Length);
- compressedzipStream.Close();
- return ms.ToArray();
- }
解压:
- public static byte[] UnGZip(byte[] byteArray)
- {
- GZipInputStream gzi = new GZipInputStream(new MemoryStream(byteArray));
- MemoryStream re = new MemoryStream(50000);
- int count;
- byte[] data = new byte[50000];
- while ((count = gzi.Read(data, 0, data.Length)) != 0)
- {
- re.Write(data, 0, count);
- }
- byte[] overarr = re.ToArray();
- return overarr;
- }
测试:
- public static void GZipTest()
- {
- string testdata = "aaaa11233GZip压缩和解压";
- byte[] gzipdata = Tools.CompressGZip(Encoding.UTF8.GetBytes(testdata));
- byte[] undata = Tools.UnGZip(gzipdata);
- Debug.Log("[GZipTest] : data" + Encoding.UTF8.GetString(undata));
- }
结果:
c#使用SharpZipLib对二进制数据进行压缩和解压的更多相关文章
- C#实现通过Gzip来对数据进行压缩和解压
C#实现通过Gzip来对数据进行压缩和解压 internal static byte[] Compress(byte[] data) { using (var compressedStream = n ...
- 使用zlib实现gzip格式数据的压缩和解压
注意代码中的注释部分,这里设置是专门针对gzip的,缺少了就不行了,gzip压缩格式和其他格式的区别就在这里. Bytef 就是 unsigned char,uLong就是 unsigned long ...
- 利用c#自带的类对文件进行压缩和解压处理
在做网络传输文件的小例子的时候,当传输的文件比较大的时候,我们通常都是将文件经过压缩之后才进行传输,以前都是利用第三方插件来对文件进行压缩的,但是现在我发现了c#自带的类库也能够实现文件的压缩,实际上 ...
- C#文件或文件夹压缩和解压方法(通过ICSharpCode.SharpZipLib.dll)
我在网上收集一下文件的压缩和解压的方法,是通过ICSharpCode.SharpZipLib.dll 来实现的 一.介绍的目录 第一步:下载压缩和解压的 ICSharpCode.SharpZipLib ...
- 对数据进行GZIP压缩和解压
public class GzipUtils { /** * 对字符串进行gzip压缩 * @param data * @return * @throws IOException */ public ...
- [Swift通天遁地]七、数据与安全-(9)文件的压缩和解压
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- ZIP文件流压缩和解压
前面写了一篇文章 "ZIP文件压缩和解压", 介绍了" SharpZipLib.Zip " 的使用, 最近的项目中,在使用的过程中, 遇到一些问题. 比如, 现 ...
- 【C#公共帮助类】WinRarHelper帮助类,实现文件或文件夹压缩和解压,实战干货
关于本文档的说明 本文档使用WinRAR方式来进行简单的压缩和解压动作,纯干货,实际项目这种压缩方式用的少一点,一般我会使用第三方的压缩dll来实现,就如同我上一个压缩类博客,压缩的是zip文件htt ...
- .net文件压缩和解压及中文文件夹名称乱码问题
/**************************注释区域内为引用http://www.cnblogs.com/zhaozhan/archive/2012/05/28/2520701.html的博 ...
随机推荐
- linux入门到高级
目 录 1. Linux入门篇.................................................................................... ...
- java实现spark常用算子之join
import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spa ...
- This application has no explicit mapping for /error, so you are seeing this as a fallback.
检查url是否输入正确,要加上之前的mapping映射
- electron localStorage的bug
在更新 electron 后有可能会读不到 localStorage 里的数据 推测是 localStorage 写在 Chromium 内核里,更新 electron 同时会更新 Chromium, ...
- lambda表达式推导和使用
lambda λ希腊字母表中排序第十一位的字母,英语名称为 Lambda, 避免匿名内部类定义过多 其实质属于函数式编程的概念 (params) -> expression (params) - ...
- dedecms sql 替换 或 删除
UPDATE dede_archives SET writer='你需要修改的作者' WHERE writer=''; UPDATE dede_archives SET source='你需要修改的来 ...
- 免费数学神器Mathpix发布移动版了,一起来写更快的公式
目录 1. 按 2. 下载地址 3. 介绍和使用 3.1. 介绍 3.2. 实际使用体验 1. 按 本文介绍的Mathpix可用于将手写的公式通过拍照或截图转成LaTeX 表达式. 写博客.记笔记最麻 ...
- RWD(Responsive Web Design)(转)
The key point is adapting to the user’s needs and device capabilities. Suppose a mobile user will be ...
- 高性能mysql 第11章 可扩展的mysql
可扩展性的定义:当增加资源以获得执行更多的工作系统能获得划算的同等提升. 向上扩展(垂直扩展):提升服务器的硬件性能. 向外扩展(水平扩展):一般都是复制,拆分,数据分片(sharding). 复制: ...
- 【CF750E】New Year and Old Subsequence
题目大意:给定一个长度为 N 的字符串,定义一个字串是"好的",当且仅当字串中含有一个 "2017" 的子序列,且不含有 "2016" 的子 ...