zoukankan      html  css  js  c++  java
  • 压缩解压缩字符串

     1 /// <summary>
     2         /// 压缩字符串
     3         /// </summary>
     4         /// <param name="str"></param>
     5         /// <returns></returns>
     6         public static string Compress(string str)
     7         {
     8             if (string.IsNullOrEmpty(str))
     9             {
    10                 return "";
    11             }
    12             byte[] bytes = Encoding.UTF8.GetBytes(str);
    13             using (MemoryStream ms = new MemoryStream(1024))
    14             {
    15                 StringBuilder sb = new StringBuilder();
    16                 using (GZipStream compress = new GZipStream(ms, System.IO.Compression.CompressionMode.Compress))
    17                 {
    18                     compress.Write(bytes, 0, bytes.Length);
    19                 }
    20                 byte[] byteArray = ms.ToArray();
    21                 foreach (byte b in byteArray)
    22                 {
    23                     sb.Append((char)b);
    24                 }
    25                 return sb.ToString();
    26             }
    27         }
    28 
    29         /// <summary>
    30         /// 解压字符串
    31         /// </summary>
    32         /// <param name="str"></param>
    33         /// <returns></returns>
    34         public static string Decompress(string str)
    35         {
    36             if (string.IsNullOrEmpty(str))
    37             {
    38                 return "";
    39             }
    40             List<byte> bytes = new List<byte>(str.Length);
    41             foreach (char c in str)
    42             {
    43                 bytes.Add((byte)c);
    44             }
    45             using (MemoryStream ms = new MemoryStream(bytes.ToArray()))
    46             {
    47                 using (GZipStream decompress = new GZipStream(ms, System.IO.Compression.CompressionMode.Decompress))
    48                 {
    49                     using (StreamReader reader = new StreamReader(decompress))
    50                     {
    51                         return reader.ReadToEnd();
    52                     }
    53                 }
    54             }
    55         }
  • 相关阅读:
    Odoo13在Win10(专业版)中的配置
    我在博客园安家了
    2012笔记
    你给我好好发邮件行不行
    事务经典例子
    轻松实现SQL Server与Access、Excel数据表间的导入导出
    SQL大全
    小笔记
    性能优化
    程序中的异常和错误处理
  • 原文地址:https://www.cnblogs.com/jiao1855/p/3156718.html
Copyright © 2011-2022 走看看