在一个小项目中,通过HTTP接收java传过来的一个压缩过的字符串。接收后,需要解压再进行gb编码。
刚开始在网上找了很多文章,都没有找到相应的解压方法,现我将我使用的可以正常解压的方法贴出来,以供大家使用。
传入参数就一个字符串。
public string Decompress(string param)//解压
{
string commonString = "";
byte[] buffer = Convert.FromBase64String(param);
MemoryStream ms = new MemoryStream(buffer);
Stream sm = new ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream(ms);
//这里要指明要读入的格式,要不就有乱码
StreamReader reader = new StreamReader(sm, System.Text.Encoding.Default);
try
{
commonString = reader.ReadToEnd();
}
finally
{
sm.Close();
ms.Close();
}
return commonString;
}

这篇博客介绍了如何在C#中利用ICSharpCode.SharpZipLib库来解压从Java发送过来的压缩字符串。通过HTTP接收字符串,将其转换为字节数组,然后使用InflaterInputStream进行解压缩,最后使用StreamReader以默认编码读取解压后的数据。
最低0.47元/天 解锁文章
3943

被折叠的 条评论
为什么被折叠?



