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("你好,我是小小酥.很高兴为您服务"); Debug.Log("原始数据是"+Encoding.UTF8.GetString(binary)); byte[] press = Compress(binary); Debug.Log("压缩后的数据是"+Convert.ToBase64String(press)+"长度是"+press.Length); byte[] depress = DeCompress(press); Debug.Log("解压后的数据是"+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; }} |
|