• 压缩解压缩字符串


     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         }
  • 相关阅读:
    如何在IDEA中查看Gradle项目的所有依赖关系
    YUYV&YV12&mtk6763
    MTK-shot mode
    Thread中,join()方法
    高通平台常用缩写
    Android.mk用法详解
    HAL层编写规范
    MMU
    Linux设备驱动中断机制
    阻塞和非阻塞I/O
  • 原文地址:https://www.cnblogs.com/jiao1855/p/3156718.html
Copyright © 2020-2023  润新知