private byte[] Decompress(byte[] bytes)
{
if (bytes[0] == 0x1f && bytes[1] == 0x8b)
{
using (MemoryStream memory = new MemoryStream(bytes))
{
using (GZipStream gzip = new GZipStream(memory, CompressionMode.Decompress))
{
using (MemoryStream result = new MemoryStream())
{
gzip.CopyTo(result);
return result.ToArray();
}
}
}
}
if (bytes[0] == 0x78 && bytes[1] == 0x9c)
{
using (MemoryStream memory = new MemoryStream(bytes))
{
using (ZlibStream deflate = new ZlibStream(memory, CompressionMode.Decompress))
{
using (MemoryStream result = new MemoryStream())
{
deflate.CopyTo(result);
return result.ToArray();
}
}
}
}
return bytes;
}