segunda-feira, 31 de agosto de 2009

Compressão e descompressão de Strings

Compressão de strings é algo muito simples de ser realizado e ajuda muito em diversas situações.
Diminuir o tamanho das mensagens enviadas em redes, chamadas de WebServices, WCF, etc.
Segue abaixo o código para compressão e descompressão utilizando o algoritmo GZip, que já vem dentro do .Net framework.

Comprimir:

Public Shared Function Comprime(ByVal texto As String) As Byte()
Dim mem As MemoryStream = New MemoryStream()
Dim gz As GZipStream = New GZipStream(mem, CompressionMode.Compress)
Dim sw As New StreamWriter(gz)
sw.WriteLine(texto)
sw.Close()
Return mem.ToArray()
End Function


Descomprimir:

Public Shared Function Descomprime(ByVal valor As Byte()) As String
Dim retorno As String = Nothing
Dim mem As New MemoryStream(valor)
Dim gz As GZipStream = New GZipStream(mem, CompressionMode.Decompress)
Dim sr As StreamReader = New StreamReader(gz)
retorno = sr.ReadLine()
sr.Close()
Return retorno
End Function


Simples!
Abs

Nenhum comentário:

Postar um comentário