public string Decompress(string B64) { try { using MemoryStream Stream = new MemoryStream(Convert.FromBase64String(B64)); using MemoryStream Result = new MemoryStream(); using BrotliStream Decompressor = new BrotliStream(Stream, CompressionMode.Decompress); Decompressor.CopyTo(Result); return(Convert.ToBase64String(Result.ToArray())); } catch { return(null);; } }
public static Stream Decompress(Stream dataIn) { #if UseBrotliLib MemoryStream decompressed = new MemoryStream(); using (var decompressor = new BrotliSharpLib.BrotliStream(dataIn, System.IO.Compression.CompressionMode.Decompress)) decompressor.CopyTo(decompressed); return(decompressed); #elif NET48 throw new NotSupportedException("The Brotli decompression is not supported in .Net 4.8"); #elif NETSTANDARD2_0 throw new NotSupportedException("The Brotli decompression is not supported in .Net 4.8"); #else using (var decoder = new System.IO.Compression.BrotliStream(dataIn, System.IO.Compression.CompressionMode.Decompress)) { var dataOut = new MemoryStream(); decoder.CopyTo(dataOut); decoder.Flush(); return(dataOut); } #endif }