Dim sData As String = String.Empty
sData = GZIPCompress("Hello, This is a sample text.")
sData = CompressString("Hello, This is a sample text.")
sData = Zip("Hello, This is a sample text.")
Function GZipCompress(ByVal s As String) As String
Dim bytes = Encoding.Unicode.GetBytes(s)
Using msi = New MemoryStream(bytes)
Using mso = New MemoryStream()
Using gs = New GZipStream(mso, CompressionMode.Compress)
msi.CopyTo(gs)
End Using
Return Convert.ToBase64String(mso.ToArray())
'Return Encoding.UTF8.GetString(mso.ToArray)
End Using
End Using
End Function
Function CompressString(ByVal text As String) As String
Dim buffer__1 As Byte() = Encoding.UTF8.GetBytes(text)
Dim memoryStream = New MemoryStream()
Using gZipStream = New GZipStream(memoryStream, CompressionMode.Compress, True)
gZipStream.Write(buffer__1, 0, buffer__1.Length)
End Using
memoryStream.Position = 0
Dim compressedData = New Byte(memoryStream.Length - 1) {}
memoryStream.Read(compressedData, 0, compressedData.Length)
Dim gZipBuffer = New Byte(compressedData.Length + 3) {}
Buffer.BlockCopy(compressedData, 0, gZipBuffer, 4, compressedData.Length)
Buffer.BlockCopy(BitConverter.GetBytes(buffer__1.Length), 0, gZipBuffer, 0, 4)
Return Convert.ToBase64String(gZipBuffer)
End Function
Public Shared Function Zip(ByVal text As String) As String
Dim buffer As Byte() = System.Text.Encoding.Unicode.GetBytes(text)
Dim ms As New MemoryStream()
Using zipStream As New System.IO.Compression.GZipStream(ms, System.IO.Compression.CompressionMode.Compress, True)
zipStream.Write(buffer, 0, buffer.Length)
End Using
ms.Position = 0
Dim outStream As New MemoryStream()
Dim compressed As Byte() = New Byte(ms.Length - 1) {}
ms.Read(compressed, 0, compressed.Length)
Dim gzBuffer As Byte() = New Byte(compressed.Length + 3) {}
System.Buffer.BlockCopy(compressed, 0, gzBuffer, 4, compressed.Length)
System.Buffer.BlockCopy(BitConverter.GetBytes(buffer.Length), 0, gzBuffer, 0, 4)
Return Convert.ToBase64String(gzBuffer)
End Function