C# 用LZ4压缩文本

文本太长对网络传输是个问题,所以找了一些压缩的方法,发现LZ4不错。

对应C#版本的,找到了lz4net这个工具,具体在https://github.com/MiloszKrajewski/lz4net ,或者再nuget中搜索此工具。

在nuget加载lz4
注意:不要压缩des或aes等密文,不然压缩后会暴增长度。具体原因不详,可能是算法的问题。建议先压缩后加密。

以下的是使用方法:

using System;
using System.Text ;
using LZ4;

namespace SundayOA.Web.code
{
    /// 
    /// LZ4 压缩工具类
    /// 
    public class LZ4Lib
    {
        /// 
        /// 压缩文本
        /// 
        /// 文本内容
        /// 
        public static string CompressBuffer(string text)
        {
            var compressed = Convert.ToBase64String(
                LZ4Codec.Wrap(Encoding.UTF8.GetBytes(text)));

            return compressed;
        }

        /// 
        /// 解压文本
        /// 
        /// 压缩的文本
        /// 
        public static string DecompressBuffer(string compressed)
        {
            var lorems =
                Encoding.UTF8.GetString(
                    LZ4Codec.Unwrap(Convert.FromBase64String(compressed))) ;


            return lorems ;
        }
    }
}

你可能感兴趣的:(C# 用LZ4压缩文本)