| 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)+"長度是"+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; }} |
|
|