.Net รองรับรูปแบบการบีบอัดสองรูปแบบ: GZip และ Deflate ฉันลองใช้แล้วและไม่มีความแตกต่างในด้านอัตราส่วนการบีบอัดหรือความเร็ว ในบรรดา GZip สามารถเปิดได้ด้วย WinRAR
มันใช้งานง่ายมาก โปรแกรมต่อไปนี้จะบีบอัดสตริงลงในไฟล์:
การใช้ (DeflateStream gzip = new DeflateStream(fs, CompressionMode.Compress))
-
ไบต์ [] buf = การเข้ารหัส UTF8.GetBytes (this.txbSource.Text);
gzip.Write(buf, 0, buf.Length);
gzip.ฟลัช();
}
การบีบอัดต้องการสิ่งนี้เท่านั้น:
gzip = new GZipStream(new MemoryStream(buf), CompressionMode.Decompress);
การใช้ (ตัวอ่าน StreamReader = StreamReader ใหม่ (gzip))
-
this.txbTarget.Text = reader.ReadToEnd();
}
หากคุณกำลังคลายการบีบอัดไฟล์ เพียงเปลี่ยน MemoryStream เป็น FileStream
แน่นอนคุณต้องเพิ่ม: การใช้ System.IO.Compression;
http://www.cnblogs.com/fujingqiu/archive/2006/10/29/543347.html