public static IEnumerable <byte> Decompress(this IEnumerable <byte> compressedData)
 {
     using (var ms = new MemoryStream(compressedData.ToArray()))
         using (var gs = new GZipStream(ms, CompressionMode.Decompress, false)) {
             return(gs.ReadAllBytes());
         }
 }
Beispiel #2
0
 /// <summary>
 /// TextEncoding.GetString(bytes) 可轉string
 /// </summary>
 /// <param name="zipData"></param>
 /// <returns></returns>
 static public byte[] Decompress(byte[] zipData)
 {
     using (GZipStream gZipStream = new GZipStream(new MemoryStream(zipData), CompressionMode.Decompress))
     {
         return(gZipStream.ReadAllBytes());
     }
 }
Beispiel #3
0
 /// <summary>
 ///  Utilizes <see cref="GZipStream"/> to decompress given chunk.
 /// </summary>
 /// <param name="data">Data to decompress</param>
 /// <returns>Byte array containing block of uncompressed data</returns>
 public byte[] Decompress(byte[] data)
 {
     using (var ms = new MemoryStream(data))
         using (var zipStream = new GZipStream(ms, CompressionMode.Decompress))
         {
             return(zipStream.ReadAllBytes());
         }
 }
        public static IEnumerable <byte> Decompress(this IEnumerable <byte> compressedData)
        {
            var realized = compressedData.ToArray();

            using (var ms = RecyclableMemoryStreamManager.SharedInstance.GetStream("Decompress",
                                                                                   realized, 0, realized.Length))
                using (var gs = new GZipStream(ms, CompressionMode.Decompress, true)) {
                    return(gs.ReadAllBytes());
                }
        }
Beispiel #5
0
        /// <summary>
        /// Decompresses this gzipped data.
        /// </summary>
        public static byte[] UnGZip(this byte[] @this)
        {
            if (@this == null)
            {
                throw new ArgumentNullException(nameof(@this));
            }

            using (var zippedStream = @this.AsStream())
                using (var decompress = new GZipStream(zippedStream, CompressionMode.Decompress))
                    return(decompress.ReadAllBytes());
        }
Beispiel #6
0
        /// <summary>
        /// Decompress a string using GZip and the specific encoding. Defaults to UTF-8
        /// </summary>
        /// <param name="data"></param>
        /// <param name="encodingName"> </param>
        /// <returns></returns>
        public static string GZipDecompress(this byte[] data, string encodingName = "utf-8")
        {
            var enc = Encoding.GetEncoding(encodingName);

            using (var ms = new MemoryStream())
                using (var gz = new GZipStream(ms, CompressionMode.Decompress))
                {
                    ms.Write(data, 0, data.Length);
                    ms.Position = 0;
                    var buffer = gz.ReadAllBytes();
                    return(enc.GetString(buffer));
                }
        }