C#自定义字符串压缩和解压缩的方法
本文实例讲述了C#自定义字符串压缩和解压缩的方法。分享给大家供大家参考。具体如下:
classZipLib
{
publicstaticstringZip(stringvalue)
{
//Transformstringintobyte[]
byte[]byteArray=newbyte[value.Length];
intindexBA=0;
foreach(chariteminvalue.ToCharArray())
{
byteArray[indexBA++]=(byte)item;
}
//Prepareforcompress
System.IO.MemoryStreamms=newSystem.IO.MemoryStream();
System.IO.Compression.GZipStreamsw=newSystem.IO.Compression.GZipStream(ms,
System.IO.Compression.CompressionMode.Compress);
//Compress
sw.Write(byteArray,0,byteArray.Length);
//Close,DONOTFLUSHcausebyteswillgomissing...
sw.Close();
//Transformbyte[]zipdatatostring
byteArray=ms.ToArray();
System.Text.StringBuildersB=newSystem.Text.StringBuilder(byteArray.Length);
foreach(byteiteminbyteArray)
{
sB.Append((char)item);
}
ms.Close();
sw.Dispose();
ms.Dispose();
returnsB.ToString();
}
publicstaticstringUnZip(stringvalue)
{
//Transformstringintobyte[]
byte[]byteArray=newbyte[value.Length];
intindexBA=0;
foreach(chariteminvalue.ToCharArray())
{
byteArray[indexBA++]=(byte)item;
}
//Preparefordecompress
System.IO.MemoryStreamms=newSystem.IO.MemoryStream(byteArray);
System.IO.Compression.GZipStreamsr=newSystem.IO.Compression.GZipStream(ms,System.IO.Compression.CompressionMode.Decompress);
//Resetvariabletocollectuncompressedresult
byteArray=newbyte[byteArray.Length];
//Decompress
intrByte=sr.Read(byteArray,0,byteArray.Length);
//Transformbyte[]unzipdatatostring
System.Text.StringBuildersB=newSystem.Text.StringBuilder(rByte);
//ReadthenumberofbytesGZipStreamredanddonotaforeachbytesin
//resultByteArray;
for(inti=0;i<rByte;i++)
{
sB.Append((char)byteArray[i]);
}
sr.Close();
ms.Close();
sr.Dispose();
ms.Dispose();
returnsB.ToString();
}
}
代码使用方法:
stringstr_org="aaaaaaaaaabbbbbbbbbbbbcccccccccdddddddd";
stringstr_comp=ZipLib.Zip(str_org);
Console.WriteLine("str_comp:"+str_comp);
stringstr_uncomp=ZipLib.UnZip(str_comp);
Console.WriteLine("str_uncomp:"+str_uncomp);
Console.ReadLine();
希望本文所述对大家的C#程序设计有所帮助。
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短