Posts

Showing posts from June, 2016

Simple and useful Zip and unZip text

Simple and usefull textual zip and unzip. First we use binary zip . but if we want to send it as a text message (e.g some message bus supports only text messages) we need to convert it to text by encoding to base 64 and vice versa to unzip it. import java.io.ByteArrayInputStream import java.nio.charset.StandardCharsets import java.util.zip.{GZIPOutputStream, GZIPInputStream} import org.apache.commons.codec.binary.Base64 import org.apache.commons.io.output.ByteArrayOutputStream import scala.util.Try val zipToBinary: String => Array[Byte] = {txt => val arrOutputStream = new ByteArrayOutputStream() val zipOutputStream = new GZIPOutputStream(arrOutputStream) zipOutputStream.write(txt.getBytes(StandardCharsets.UTF_8)) zipOutputStream.close() arrOutputStream.toByteArray } val byteArrayToTxt : Array[Byte] => String = bytes => Base64.encodeBase64String(bytes) val txtToBinary : String => Array[Byte]= txt => Base64.decodeBase64(txt.getBytes(Sta