Exemplo n.º 1
0
        /// <summary>
        /// Function responsible for compressing a string passed as argument into an array of bytes.
        /// </summary>
        /// <param name="data">Data that needs to be compressed.</param>
        /// <param name="compressionAlgorithm">The desired algorithm to compress the data.</param>
        /// <returns>An array of bytes resulting from the compression.</returns>
        public static byte[] DataCompression(string data, Misc.CompressionAlgorithm compressionAlgorithm)
        {
            if (data == null)
            {
                throw new ArgumentNullException();
            }

            switch (compressionAlgorithm)
            {
            case Misc.CompressionAlgorithm.L4Z:
                return(L4ZCompression(data));

            case Misc.CompressionAlgorithm.Deflate:
                return(DeflateCompression(data));

            case Misc.CompressionAlgorithm.Gzip:
            default:
                return(GzipCompression(data));
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Function responsible for decompressing an array of bytes passed as argument into a string.
        /// </summary>
        /// <param name="data">Data that needs to be decompressed.</param>
        /// <param name="decompressionAlgorithm">The desired algorithm to decompress the data.</param>
        /// <returns>A string resulting from the decompressing.</returns>
        public static string DecompressData(byte[] data, Misc.CompressionAlgorithm decompressionAlgorithm)
        {
            if (data == null)
            {
                throw new ArgumentNullException();
            }

            switch (decompressionAlgorithm)
            {
            case Misc.CompressionAlgorithm.L4Z:
                return(L4ZDecompression(data));

            case Misc.CompressionAlgorithm.Deflate:
                return(DeflateDecompression(data));

            case Misc.CompressionAlgorithm.Gzip:
            default:
                return(GzipDecompression(data));
            }
        }