///<summary> /// Uncompress a ZLIB-compressed byte array into a single string. ///</summary> ///<seealso cref="ZlibStream.CompressString(String)" /> ///<seealso cref="ZlibStream.UncompressBuffer(byte[])" /> ///<param name="compressed"> A buffer containing ZLIB-compressed data. </param> ///<returns> The uncompressed string </returns> public static String UncompressString(byte[] compressed) { using (var input = new MemoryStream(compressed)) { Stream decompressor = new ZlibStream(input, CompressionMode.Decompress); return ZlibBaseStream.UncompressString(compressed, decompressor); } }
///<summary> /// Compress a string into a byte array using ZLIB. ///</summary> ///<remarks> /// Uncompress it with <see cref="ZlibStream.UncompressString(byte[])" /> . ///</remarks> ///<seealso cref="ZlibStream.UncompressString(byte[])" /> ///<seealso cref="ZlibStream.CompressBuffer(byte[])" /> ///<seealso cref="GZipStream.CompressString(string)" /> ///<param name="s"> A string to compress. The string will first be encoded using UTF8, then compressed. </param> ///<returns> The string in compressed form </returns> public static byte[] CompressString(String s) { using (var ms = new MemoryStream()) { Stream compressor = new ZlibStream(ms, CompressionMode.Compress, CompressionLevel.BestCompression); ZlibBaseStream.CompressString(s, compressor); return ms.ToArray(); } }