1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 |
public
static class Compressor { public
static byte [] Compress( byte [] data) { using
(MemoryStream output = new
MemoryStream()) { using
(GZipStream gzip = new
GZipStream(output, CompressionMode.Compress, true )) { gzip.Write(data, 0, data.Length); gzip.Close(); return
output.ToArray(); } } } public
static byte [] Decompress( byte [] data) { using
(MemoryStream input = new
MemoryStream()) { input.Write(data, 0, data.Length); input.Position = 0; using
(GZipStream gzip = new
GZipStream(input, CompressionMode.Decompress, true )) { using
(MemoryStream output = new
MemoryStream()) { byte [] buff = new
byte [64]; int
read = -1; read = gzip.Read(buff, 0, buff.Length); while
(read > 0) { output.Write(buff, 0, read); read = gzip.Read(buff, 0, buff.Length); } gzip.Close(); return
output.ToArray(); } } } } |
原文:http://www.cnblogs.com/qishiguilai/p/3554755.html