在一个小项目中,通过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;
}