c# Deflate压缩与解压缩函数
来源:互联网 发布:遂溪农村淘宝 编辑:程序博客网 时间:2024/04/29 11:05
1 /// <summary> 2 /// Deflate压缩函数 3 /// </summary> 4 /// <param name="strSource"></param> 5 /// <returns></returns> 6 public string DeflateCompress(string strSource) 7 { 8 if (strSource == null || strSource.Length > 8 * 1024) 9 throw new System.ArgumentException("字符串为空或长度太大!");10 byte[] buffer = System.Text.Encoding.UTF8.GetBytes(strSource);11 using (System.IO.MemoryStream ms = new System.IO.MemoryStream())12 {13 using (System.IO.Compression.DeflateStream stream = new System.IO.Compression.DeflateStream(ms, System.IO.Compression.CompressionMode.Compress, true))14 {15 stream.Write(buffer, 0, buffer.Length);16 stream.Close();17 }18 byte[] compressedData = ms.ToArray();19 ms.Close();20 return Convert.ToBase64String(compressedData); //将压缩后的byte[]转换为Base64String21 }22 }1 /// <summary> 2 /// Deflate解压函数 3 /// JS:var details = eval('(' + utf8to16(zip_depress(base64decode(hidEnCode.value))) + ')')对应的C#压缩方法 4 /// </summary> 5 /// <param name="strSource"></param> 6 /// <returns></returns> 7 public string DeflateDecompress(string strSource) 8 { 9 byte[] buffer = Convert.FromBase64String(strSource);10 using (System.IO.MemoryStream ms = new System.IO.MemoryStream())11 {12 ms.Write(buffer, 0, buffer.Length);13 ms.Position = 0;14 using (System.IO.Compression.DeflateStream stream = new System.IO.Compression.DeflateStream(ms, System.IO.Compression.CompressionMode.Decompress))15 {16 stream.Flush();17 int nSize = 16 * 1024 + 256; //假设字符串不会超过16K18 byte[] decompressBuffer = new byte[nSize];19 int nSizeIncept = stream.Read(decompressBuffer, 0, nSize);20 stream.Close();21 return System.Text.Encoding.UTF8.GetString(decompressBuffer, 0, nSizeIncept); //转换为普通的字符串22 }23 }24 }
0 0
- c# Deflate压缩与解压缩函数
- C# Deflate 压缩与解压缩
- C# Deflate、GZip压缩与解压缩
- c#压缩解压缩bzip2、tar、zip、gzip、deflate、ntdll
- C# 压缩解压缩函数
- C# GZip、Deflate 压缩解压算法函数
- GZip、Deflate压缩算法对应的C#压缩解压函数
- C#压缩与解压缩文件
- c#字符串压缩与解压缩
- C#实现压缩与解压缩
- C# 文件压缩与解压缩
- 解压缩PNG deflate压缩IDAT数据
- C#压缩与解压缩(zip文件)
- C#压缩与解压缩(zip文件)
- C#如何压缩与解压缩文件
- C#调用WinRAR实现压缩与解压缩
- C# 中压缩与解压缩的方法
- C#对ZIP的压缩与解压缩
- LeetCode 题解(141): Reverse Linked List
- MTK6260平台上SPI(3line2lane)屏的调试总结
- 十六周作业,数据链接 随机数的使用
- 色彩心理学对网页设计有多大影响力?
- linux下tomcat服务的相关命令
- c# Deflate压缩与解压缩函数
- 集中式vs分布式
- 处理json中影响解析的多余引号
- IOS之UITableView的header显示问题
- C语言 两个分数的四则运算,用函数调用实现
- 常用的navigator属性
- ubuntu14.04配置opencv2.4.10
- Eclipse 下找不到或无法加载主类的解决办法
- 模拟器显示 My mac 64-bit