日期:2014-05-17  浏览次数:20465 次

c#中可以解压字节数组吗
var _local2:URLLoader = (_arg1.target as URLLoader);
            _local3 = (_local2.data as ByteArray); //将返回的数据转换成字节数组
            _local3.uncompress(); //解压字节数组
            _local4 = _local3.readObject(); //转换成对象

这是一段ActionScript 3.0 代码  ,可以看出 数据是压缩过的(AS中压缩compress是ZLIP压缩)我用c#通讯 返回的是数据流 请问 我c#中如何解压他的信息。
C# flash

------解决方案--------------------
//解压字节数组
public static byte[] DeCompressData(byte[] sourceByte)
{
MemoryStream memStream = new MemoryStream(sourceByte);
            memStream.Position = 0;

            DeflateStream zipStream = new DeflateStream(memStream, CompressionMode.Decompress);
            memStream = new MemoryStream();

            byte[] buff = new byte[512];
            while (true)
            {
                int size = zipStream.Read(buff, 0, 512);
                memStream.Write(buff, 0, size);
                if (size < 512)
                    break;
            }

            byte[] tempByte = memStream.ToArray();
            memStream.Close();