示例#1
0
        /// <summary>
        /// Dekomprimiert die gegebenen DAT-Daten (zlib-Kompression).
        /// </summary>
        /// <param name="dat">Die zu dekomprimierenden Daten.</param>
        /// <returns></returns>
        public static RAMBuffer DecompressData(RAMBuffer dat)
        {
            // Ausgabe-Stream erstellen
            MemoryStream output = new MemoryStream();

            // Daten in Memory-Stream schreiben
            using(MemoryStream input = dat.ToMemoryStream())
            {
                // Kompressions-Stream erstellen
                using(DeflateStream decompressor = new DeflateStream(input, CompressionMode.Decompress))
                {
                    // (De-)Komprimieren
                    decompressor.CopyTo(output);
                    decompressor.Close();
                }
            }

            // Ergebnis in Puffer schreiben
            return new RAMBuffer(output.ToArray());
        }