/// ------------------------------------------------------------------------------------
/// <summary>
/// Unzip a byte array and return unpacked data
/// </summary>
/// <param name="data">Byte array containing data to be unzipped</param>
/// <returns>unpacked data</returns>
/// ------------------------------------------------------------------------------------
public static byte[] UnpackData(byte[] data)
{
if (data == null)
return null;
try
{
MemoryStream memStream = new MemoryStream(data);
ZipInputStream zipStream = new ZipInputStream(memStream);
zipStream.GetNextEntry();
MemoryStream streamWriter = new MemoryStream();
int size = 2048;
byte[] dat = new byte[2048];
while (true)
{
size = zipStream.Read(dat, 0, dat.Length);
if (size > 0)
{
streamWriter.Write(dat, 0, size);
}
else
{
break;
}
}
streamWriter.Close();
zipStream.CloseEntry();