/// <summary> /// Compresses the inputBytes in Lzma /// </summary> /// <param name="inputBytes">bytes to compress</param> /// <returns>Compressed bytes</returns> public static byte[] Compress(byte[] inputBytes) { if (inputBytes != null) { MemoryStream inStream = new MemoryStream(inputBytes); MemoryStream outStream = new MemoryStream(); Unity3DDisassembler.Compression.LZMA.Encoder encoder = new Unity3DDisassembler.Compression.LZMA.Encoder(); encoder.SetCoderProperties(propIDs, properties); encoder.WriteCoderProperties(outStream); long fileSize = inStream.Length; for (int i = 0; i < 8; i++) { outStream.WriteByte((Byte)(fileSize >> (8 * i))); } encoder.Code(inStream, outStream, -1, -1, null); //Clear Memory inStream.Dispose(); encoder = null; return(outStream.ToArray()); } else { throw new ArgumentNullException("inputBytes", "inputBytes was null. :["); } }
/// <summary> /// Compresses the inputBytes in Lzma /// </summary> /// <param name="inputBytes">bytes to compress</param> /// <returns>Compressed bytes</returns> public static byte[] Compress(byte[] inputBytes) { if (inputBytes != null) { MemoryStream inStream = new MemoryStream(inputBytes); MemoryStream outStream = new MemoryStream(); Unity3DDisassembler.Compression.LZMA.Encoder encoder = new Unity3DDisassembler.Compression.LZMA.Encoder(); encoder.SetCoderProperties(propIDs, properties); encoder.WriteCoderProperties(outStream); long fileSize = inStream.Length; for (int i = 0; i < 8; i++) outStream.WriteByte((Byte)(fileSize >> (8 * i))); encoder.Code(inStream, outStream, -1, -1, null); //Clear Memory inStream.Dispose(); encoder = null; return outStream.ToArray(); } else { throw new ArgumentNullException("inputBytes", "inputBytes was null. :["); } }