解压和压缩反写快照和业务流程实例压缩文件原创
4人赞赏了该文章
1,119次浏览
编辑于2022年09月14日 10:24:43
反写快照数据新版本或归档的数据都进行了压缩,业务流程实例数据归档到文件表中也进行了压缩;
如果需要解压可以使用下面代码,或在线解压
1、xml格式化
2、在线解压
3、解压代码:
using System; using System.Collections.Generic; using System.IO; using System.IO.Compression; using System.Linq; using System.Text; namespace ConsoleTest { public class Program { public static void Main(string[] args) { //解压压缩字符 string str="H4sIAAAAAAAEAMVUXWuDMBT9K/sBzRKtiQpBkK2ygq0u2o0+iSaBltkPbLn....."; //压缩字符 byte[] base64Bytes = Convert.FromBase64String(str); byte[] bytes = null; using (MemoryStream tempMs = new MemoryStream()) { using (MemoryStream ms = new MemoryStream(base64Bytes)) { GZipStream Decompress = new GZipStream(ms, CompressionMode.Decompress); Decompress.CopyTo(tempMs); Decompress.Close(); bytes = tempMs.ToArray(); } } string oldStr = Encoding.Default.GetString(bytes); // 还原为字符串 //把字符压缩 var oldStr="<Sheet><Rows><Row><Id><Id><Tbl>T_SAL_ORDERENTRY</Tbl><EId>12....." byte[] bytes1 = Encoding.Default.GetBytes(oldStr); // 把字符串,转换为byte[] string base64str = Convert.ToBase64String(bytes1); // 把字符串,换为base64字符串 byte[] base64Bytes2 = Convert.FromBase64String(base64str); // 把base64字符串,重新转换为byte[],以便压缩 using (MemoryStream ms = new MemoryStream()) { GZipStream Compress = new GZipStream(ms, CompressionMode.Compress); Compress.Write(base64Bytes2, 0, base64Bytes2.Length); Compress.Close(); string compressStr = Convert.ToBase64String( ms.ToArray()); } } } }
赞 4
4人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读