Imports System.IO Imports System.IO.Compression Imports System.Text ''' <summary> ''' 文字列の圧縮 ''' </summary> Protected Function CompressStr(ByVal sStr As String) As Byte() Dim nStrBytes As Byte() = System.Text.Encoding.UTF8.GetBytes(sStr) ' 入出力用のストリームを生成します Using oCompressMemory As New MemoryStream() ' ストリームに圧縮するデータを書き込みます Using oCompressStream As New DeflateStream(oCompressMemory, CompressionMode.Compress, True) oCompressStream.Write(nStrBytes, 0, nStrBytes.Length) End Using Return oCompressMemory.ToArray() End Using End Function ''' <summary> ''' 文字列の解凍 ''' </summary> Protected Function DecompressStr(ByVal nData As Byte()) As String ' 入出力用のストリームを生成します Using oCompressedData As New MemoryStream(nData) ' ストリームから解凍したデータを読み込みます Using oCompressStream As New DeflateStream(oCompressedData, CompressionMode.Decompress, True) Dim nBuff(1024) As Byte Dim oRetStr As New StringBuilder() Do While oCompressStream.Read(nBuff, 0, nBuff.Length) > 0 oRetStr.Append(System.Text.Encoding.UTF8.GetString(nBuff).TrimEnd(vbNullChar)) Loop ' 解凍されたデータを文字列で取得します Return oRetStr.ToString() End Using End Using End Function