コード例 #1
0
        public static byte[] Compress(byte[] data, ECompressionType compressType) //, int start = 0, int count = 0)
        {
            byte[] compressedData;
            switch (compressType)
            {
            case ECompressionType.LzMa:
                compressedData = SevenZipHelper.CompressData(data);
                break;

            case ECompressionType.Lz4:       //LZ4
            case ECompressionType.Lz4Hc:     //LZ4HC
                compressedData = new byte[LZ4Codec.MaximumOutputSize(data.Length)];
                var compressedSize = LZ4Codec.Encode(data, 0, data.Length,
                                                     compressedData, 0, compressedData.Length);
                Array.Resize(ref compressedData, compressedSize);
                break;

            //case CompressionType.LzHam:   //LZHAM
            case ECompressionType.None:          //None
            default:
            {
                compressedData = data;
                break;
            }
            }

            return(compressedData);
        }