블로그 이미지
Every unexpected event is a path to learning for you.

카테고리

분류 전체보기 (2563)N
Unity3D (699)
Programming (461)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (213)
협업 (45)
3DS Max (3)
Game (12)
Utility (133)
Etc (95)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (45)N
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (37)
Thinking (37)
한글 (28)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total1,645,823
Today14
Yesterday509
07-08 02:01

달력

« » 2022.7
          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            

공지사항

태그목록

반응형

유니티 데이터 통신 압축용으로 사용 중.

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using ICSharpCode.SharpZipLib.BZip2;

public class ZipHelper
{
    public static byte[] Zip(byte[] data)
    {
        return Zip(data, 0, data.Length);
    }

    public static byte[] Unzip(byte[] data)
    {
        return Unzip(data, 0, data.Length);
    }

    public static byte[] Zip(byte[] data, int offset, int size)
    {
        MemoryStream inStream = new MemoryStream(data, offset, size);
        MemoryStream outStream = new MemoryStream();
        BZip2.Compress(inStream, outStream, false, 3);

        byte[] result = outStream.ToArray();
        inStream.Close();
        outStream.Close();

        return result;
    }

    public static byte[] Unzip(byte[] data, int offset, int size)
    {
        MemoryStream inStream = new MemoryStream(data, offset, size);
        MemoryStream outStream = new MemoryStream();
        BZip2.Decompress(inStream, outStream, false);

        byte[] result = outStream.ToArray();
        inStream.Close();
        outStream.Close();

        return result;
    }
}

// 예제
//class Program
//{
//    static void Main(string[] args)
//    {

//        byte[] array = new byte[1000];
//        for (int i = 0; i < array.Length; i++)
//        {
//            array[i] = (byte)(i % 255);
//        }
//        byte[] compress = ZipHelper.Zip(array);
//        byte[] decompress = ZipHelper.Unzip(array);


//    }

//}

 

 

[SharpZip dll 다운로드] https://www.nuget.org/packages/SharpZipLib/

 

[참조] https://nahyungmin.tistory.com/38

반응형
Posted by blueasa

댓글을 달아 주세요