Base64 encoding in Java / Groovy

Josh K picture Josh K · Nov 15, 2010 · Viewed 28.5k times · Source

What is the proper way to convert a byte [] to a Base64 string in Java? Better yet would be Grails / Groovy because it tells me that the encodeAsBase64() function is deprecated. The sun.misc.BASE64Encoder package isn't recommended for use and outputs a different size string on some Windows platforms.

Answer

ataylor picture ataylor · Nov 15, 2010

The preferred way to do this in groovy is:

 def encoded = "Hello World".bytes.encodeBase64().toString()
 assert encoded == "SGVsbG8gV29ybGQ="
 def decoded = new String("SGVsbG8gV29ybGQ=".decodeBase64())
 assert decoded == "Hello World"