关于GZipStream解压缩的问题

hoverchu 2006-12-07 02:15:55
代码如下(其中ms为压缩后的流):
ms.Position = 0;
GZipStream zipstream = new GZipStream(ms, CompressionMode.Decompress);
StreamReader sr = new StreamReader(zipstream);
string str = sr.ReadToEnd();

str的长度是正确的,可内容却都是"\0",正确的结果应该是个xml字符串,请高手指点,谢谢!

...全文
274 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cansum396 2006-12-29
  • 打赏
  • 举报
回复
mark
BlueDog 2006-12-29
  • 打赏
  • 举报
回复
看我Blog上的贴子,已实现了你需要的功能
http://blog.csdn.net/BlueDog/archive/2006/12/29/1466527.aspx
newsealiutao 2006-12-26
  • 打赏
  • 举报
回复
你好,可以加我qq吗? 275222920 我想讨论一下gzip的问题^_^
BlueDog 2006-12-25
  • 打赏
  • 举报
回复
/// <summary>
/// 解压缩字符串
/// </summary>
/// <param name="unCompressedString"></param>
/// <returns></returns>
public static string UnzipString(string unCompressedString)
{
System.Text.StringBuilder uncompressedString = new System.Text.StringBuilder();
byte[] writeData = new byte[4096];

byte[] bytData = System.Convert.FromBase64String(unCompressedString);
int totalLength = 0;
int size = 0;

Stream s = new GZipStream(new MemoryStream(bytData), CompressionMode.Decompress);
while (true)
{
size = s.Read(writeData, 0, writeData.Length);
if (size > 0)
{
totalLength += size;
uncompressedString.Append(System.Text.Encoding.UTF8.GetString(writeData, 0, size));
}
else
{
break;
}
}
s.Close();
return uncompressedString.ToString();
}
阿牛138588 2006-12-23
  • 打赏
  • 举报
回复
看起来就不顺眼,但哪错了说不出来。
:)

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧