压缩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 ""; } } }}
评论