using UnityEngine;using System.Collections;using ICSharpCode.SharpZipLib;
using ICSharpCode.SharpZipLib.GZip;using System.IO;
using System.Text;
using System;
public class RecodeAndSave:MonoBehaviour {
void Start() {
byte[] binary = Encoding.UTF8.GetBytes("你好,我是小小酥.很高興為您服務(wù)");
Debug.Log("原始數(shù)據(jù)是"+Encoding.UTF8.GetString(binary));
byte[] press = Compress(binary);
Debug.Log("壓縮后的數(shù)據(jù)是"+Convert.ToBase64String(press)+"長(zhǎng)度是"+press.Length);
byte[] depress = DeCompress(press);
Debug.Log("解壓后的數(shù)據(jù)是"+Encoding.UTF8.GetString(depress));
}
byte[] Compress(byte[] binary) {
MemoryStream ms = new MemoryStream();
GZipOutputStream gzip = new GZipOutputStream(ms);
gzip.Write(binary,0,binary.Length);
gzip.Close();
byte[] press = ms.ToArray();
return press;
}
byte[] DeCompress(byte[] press) {
GZipInputStream gzi = new GZipInputStream(new MemoryStream(press));
MemoryStream re = new MemoryStream();
int count = 0;
byte[] data = new byte[4096];
while((count=gzi.Read(data,0,data.Length))!=0) {
re.Write(data,0,count);
}
byte[] depress = re.ToArray();
return depress;
}}
|