本文实例讲述了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#自定义字符串压缩和解压缩的方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)