概要
Package Manager の「Add package by name...」で
com.unity.sharp-zip-lib
と入力して「Add」を押すとインストールできる
使用例
using System.IO; using System.Text; using Unity.SharpZipLib.GZip; /// <summary> /// 文字列を gzip で圧縮・展開するクラス /// </summary> public static class GZipCompressor { //================================================================================ // 変数(static readonly) //================================================================================ private static readonly Encoding ENCODING = Encoding.UTF8; //================================================================================ // 関数(static) //================================================================================ /// <summary> /// 圧縮します /// </summary> public static byte[] Compress( string rawString ) { var buffer = ENCODING.GetBytes( rawString ); using var baseOutputStream = new MemoryStream(); using ( var gZipOutputStream = new GZipOutputStream( baseOutputStream ) ) { gZipOutputStream.Write( buffer ); } return baseOutputStream.ToArray(); } /// <summary> /// 解凍します /// </summary> public static string Decompress( byte[] buffer ) { using var baseInputStream = new MemoryStream( buffer ); using var gZipInputStream = new GZipInputStream( baseInputStream ); using var streamReader = new StreamReader( gZipInputStream, ENCODING ); return streamReader.ReadToEnd(); } }
using UnityEngine; internal sealed class Example : MonoBehaviour { private void Awake() { var str = "ピカチュウ"; var compress = GZipCompressor.Compress( str ); var decompress = GZipCompressor.Decompress( compress ); Debug.Log( decompress ); // ピカチュウ } }