C#自定义字符串压缩和解压缩的方法

C#自定义字符串压缩和解压缩的方法,第1张

概述本文实例讲述了C#自定义字符串压缩和解压缩的方法。分享给大家供大家参考。具体如下:

本文实例讲述了C#自定义字符串压缩和解压缩的方法。分享给大家供大家参考。具体如下:

class Ziplib{ public static string Zip(string value) {  //transform string into byte[]   byte[] byteArray = new byte[value.Length];  int indexBA = 0;  foreach (char item in value.tochararray())  { byteArray[indexBA++] = (byte)item;  }  //Prepare for compress  System.IO.MemoryStream ms = new System.IO.MemoryStream();  System.IO.Compression.GZipStream sw = new System.IO.Compression.GZipStream(ms,System.IO.Compression.CompressionMode.Compress);  //Compress  sw.Write(byteArray,byteArray.Length);  //Close,DO NOT FLUSH cause bytes will go missing...  sw.Close();  //transform byte[] zip data to string  byteArray = ms.ToArray();  System.Text.StringBuilder sB = new System.Text.StringBuilder(byteArray.Length);  foreach (byte item in byteArray)  { sB.Append((char)item);  }  ms.Close();  sw.dispose();  ms.dispose();  return sB.ToString(); } public static string UnZip(string value) {  //transform string into byte[]  byte[] byteArray = new byte[value.Length];  int indexBA = 0;  foreach (char item in value.tochararray())  { byteArray[indexBA++] = (byte)item;  }  //Prepare for decompress  System.IO.MemoryStream ms = new System.IO.MemoryStream(byteArray);  System.IO.Compression.GZipStream sr = new System.IO.Compression.GZipStream(ms,System.IO.Compression.CompressionMode.Decompress);  //reset variable to collect uncompressed result  byteArray = new byte[byteArray.Length];  //Decompress  int rByte = sr.Read(byteArray,byteArray.Length);  //transform byte[] unzip data to string  System.Text.StringBuilder sB = new System.Text.StringBuilder(rByte);  //Read the number of bytes GZipStream red and do not a for each bytes in  //resultByteArray;  for (int i = 0; i < rByte; i++)  { sB.Append((char)byteArray[i]);  }  sr.Close();  ms.Close();  sr.dispose();  ms.dispose();  return sB.ToString(); }}

代码使用方法:

string str_org="aaaaaaaaaabbbbbbbbbbbbcccccccccdddddddd";string str_comp = Ziplib.Zip(str_org);Console.Writeline("str_comp:" + str_comp);string str_uncomp = Ziplib.UnZip(str_comp);Console.Writeline("str_uncomp:" + str_uncomp);Console.Readline();

希望本文所述对大家的C#程序设计有所帮助。

总结

以上是内存溢出为你收集整理的C#自定义字符串压缩和解压缩的方法全部内容,希望文章能够帮你解决C#自定义字符串压缩和解压缩的方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1255320.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存