社区
C#
帖子详情
C#中如何解压gzip压缩后的字符流?
qugui
2005-12-24 12:51:57
我现在得到一网页返回的流是gzip压缩的,我想要解压后显示原来的内容,请高手赐教.
...全文
1451
6
打赏
收藏
C#中如何解压gzip压缩后的字符流?
我现在得到一网页返回的流是gzip压缩的,我想要解压后显示原来的内容,请高手赐教.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
marvelstack
2005-12-25
打赏
举报
回复
http://hardrock.cnblogs.com/archive/2005/12/23/303209.html
qugui
2005-12-24
打赏
举报
回复
你们说的不行呀,的到的数据在IE里面可以解开,但在程序里解不开.
tangyong12
2005-12-24
打赏
举报
回复
/// <summary>
/// 压缩文件流
/// </summary>
/// <param name="uncompressedString"></param>
/// <returns></returns>
static public string Compress(string uncompressedString)
{
byte[] byteData = System.Text.Encoding.UTF8.GetBytes(uncompressedString);
MemoryStream ms = new MemoryStream();
Stream s = new GZipOutputStream(ms);
s.Write(byteData,0,byteData.Length);
s.Close();
byte[] compressData = (byte[])ms.ToArray();
ms.Flush();
ms.Close();
return System.Convert.ToBase64String(compressData,0,compressData.Length);
}
/// <summary>
/// 减压文件流
/// </summary>
/// <param name="comppressedString"></param>
/// <returns></returns>
static public string DeCompress(string comppressedString)
{
int size = 0;
string uncompressString = string.Empty;
StringBuilder sb = new StringBuilder(40960);
int totalLength = 0;
byte[] byteInput = System.Convert.FromBase64String(comppressedString);
byte[] writeData = new byte[4096];
Stream s = new GZipInputStream(new MemoryStream(byteInput));
while(true)
{
size = s.Read(writeData,0,writeData.Length);
if(size > 0)
{
totalLength += size;
sb.Append(System.Text.Encoding.UTF8.GetString(writeData,0,size));
}
else
{
break;
}
}
s.Flush();
s.Close();
return sb.ToString();
}
singlepine
2005-12-24
打赏
举报
回复
http://dev.csdn.net/develop/article/67/article/63/63929.shtm
c11_11_11
2005-12-24
打赏
举报
回复
帮你顶 顺便接点分
ah__fu
2005-12-24
打赏
举报
回复
using ICSharpCode.SharpZipLib.GZip;
public static byte[] Compress(Stream Source)
{
Debug.Assert(null != Source);
Source.Seek(0, SeekOrigin.Begin);
MemoryStream objMem = new MemoryStream();
GZipOutputStream objGzip = new GZipOutputStream(objMem);
const int BUFFER_SIZE = 1024 * 10;
byte[] arrBuffer = new byte[BUFFER_SIZE];
int nGetedCount = 0;
do
{
nGetedCount = Source.Read(arrBuffer, 0, BUFFER_SIZE);
objGzip.Write(arrBuffer, 0, nGetedCount);
} while(nGetedCount>0);
objGzip.Finish();
byte[] arrResult = objMem.ToArray();
objGzip.Close(); //压缩完成后,输出流就会被关闭
objGzip = null;
objMem.Close();
objMem = null;
return arrResult;
}
C#
利用SharpZipLib进行
压缩
和
解压
C#
中
的
压缩
和
解压
是非常常见的操作, SharpZipLib是一个流行的
压缩
库,它提供了
压缩
和
解压
的功能。在本文
中
,我们将使用SharpZipLib库来实现文件的
压缩
和
解压
。 SharpZipLib简介 SharpZipLib是一个开源的
压缩
库...
C语言编写的
GZIP
压缩
算法(含工程文件,附带测试程序)
在本项目
中
,我们有一个用C语言实现的
GZIP
压缩
算法,该算法已经整合到了Visual Studio 2010的工程环境
中
,同时提供了测试程序来验证其功能。 首先,让我们详细了解一下
GZIP
压缩
算法的核心原理。
GZIP
基于DEFLATE算法...
字符串
压缩
与
解压
本文将深入探讨
C#
语言
中
三种实现字符串
压缩
与
解压
的方法。 1. **
GZip
Stream**
GZip
Stream是.NET Framework提供的用于
压缩
和
解压
缩数据的类,它是基于
Gzip
文件格式的。要使用
GZip
Stream,我们需要创建一个...
C#
自定义字符串
压缩
和
解压
缩的方法
在
C#
编程
中
,有时我们需要对字符串进行
压缩
和
解压
缩操作,以节省存储空间或在网络传输
中
减少数据量。本文将介绍如何自定义一个简单的字符串
压缩
和
解压
缩的方法,使用.NET框架内置的`System.IO.Compression....
C#
压缩
和
解压
缩文件的经典源码
C#
中
,我们可以通过
GZip
Stream类来读写
GZIP
压缩
的流。 2. **DEFLATE**: 是一种无损数据
压缩
算法,它结合了LZ77编码和霍夫曼编码。在
C#
中
,通过DeflateStream类可以直接处理DEFLATE
压缩
的流。 **ZipArchive** 1. **...
C#
111,110
社区成员
642,556
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章