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#中如何解压他的信息。
------解决方案--------------------//解压字节数组
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();