社区
C#
帖子详情
C#中如何解压gzip压缩后的字符流?
qugui
2005-12-24 12:51:57
我现在得到一网页返回的流是gzip压缩的,我想要解压后显示原来的内容,请高手赐教.
...全文
1446
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进行文件
压缩
和
解压
实例
C语言编写的
GZIP
压缩
算法(含工程文件,附带测试程序)
开发环境VisualStudio 2010,文件
中
包含工程文件
字符串
压缩
与
解压
C#
3种方法实现字符串的
压缩
与
解压
操作.
前端pako
压缩
与
解压
缩
前端pako
压缩
与
解压
缩
C#
自定义字符串
压缩
和
解压
缩的方法
本文实例讲述了
C#
自定义字符串
压缩
和
解压
缩的方法。分享给大家供大家参考。具体如下: class ZipLib { public static string Zip(string value) { //Transform string into byte[] byte[] byteArray = new byte[value.Length]; int indexBA = 0; foreach (char item in value.ToCharArray()) { byteArray[indexBA++] = (byte)item; } //Prepare f
C#
111,094
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章