基本信息
源码名称:C# 压缩、解压缩Base64
源码大小:0.33M
文件格式:.zip
开发语言:C#
更新时间:2020-10-13
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
压缩base64字符串与 解压缩


using ICSharpCode.SharpZipLib.BZip2;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;

namespace MarkingMaster.src
{
    public static class ZipBytes
    {
        //压缩base64字符串
        public static string Compress(string uncompressedString)
        {
            if (uncompressedString == null || uncompressedString == "")
            {
                return "";
            }
            byte[] bytData = Encoding.Default.GetBytes(uncompressedString);
            MemoryStream ms = new MemoryStream();
            Stream s = new BZip2OutputStream(ms);
            s.Write(bytData, 0, bytData.Length);
            s.Close();
            byte[] compressedData = (byte[])ms.ToArray();
            return Convert.ToBase64String(compressedData, 0, compressedData.Length);
        }

        //解压base64字符串
        public static string DeCompress(string compressedString)
        {
            try
            {
                if (compressedString == "")
                    return "";
                StringBuilder uncompressedString = new StringBuilder();
                int totalLength = 0;
                byte[] bytInput = Convert.FromBase64String(compressedString); ;
                byte[] writeData = new byte[4096];
                Stream s2 = new BZip2InputStream(new MemoryStream(bytInput));
                while (true)
                {
                    int size = s2.Read(writeData, 0, writeData.Length);
                    if (size > 0)
                    {
                        totalLength  = size;
                        uncompressedString.Append(Encoding.Default.GetString(writeData, 0, size));
                    }
                    else
                    {
                        break;
                    }
                }
                s2.Close();
                return uncompressedString.ToString();
            }
            catch (Exception ex)
            {                
                Console.WriteLine(ex.Message);
                return "";
            }
        }


    }
}