public DataInfo Convert(DataInfo dataInfo) { using (var memoryStream = new MemoryStream(dataInfo.Length)) { using (var convertingstream = new GZipStream(memoryStream, CompressionMode.Compress, true)) { convertingstream.Write(dataInfo.Data, 0, dataInfo.Length); } return new DataInfo((int)memoryStream.Position, memoryStream.GetBuffer()); } }
public DataInfo Convert(DataInfo dataInfo) { using (var memoryStream = new MemoryStream(dataInfo.Data, 0, dataInfo.Length)) { var convertedDataInfo = new DataInfo(GetDecompressedSize(dataInfo)); using (var convertingstream = new GZipStream(memoryStream, CompressionMode.Decompress, true)) { convertingstream.Read(convertedDataInfo.Data, 0, convertedDataInfo.Length); } return convertedDataInfo; } }
private int GetDecompressedSize(DataInfo dataInfo) { using (var memoryStream = new MemoryStream(dataInfo.Data, dataInfo.Length - 4, 4)) { var binaryReader = new BinaryReader(memoryStream); var length = binaryReader.ReadInt32(); return length; } }