17
votes

Just like the title says, I am trying to encode a string "test" into base32 string "ORSXG5A=" in Java.

All I find when searching online is classes that encodes from string to array with 32bits, but obviously that is not what I want.

Sorry for this newbie question.

2
If you can't find a canned Base32 converter you can find a Base64 one and modify it -- same principles only simpler.Hot Licks

2 Answers

31
votes

Apache commons-codec provides a Base32 class that does just that

Base32 base32 = new Base32();
System.out.println(base32.encodeAsString("test".getBytes()));

prints

ORSXG5A=

You can download it here.

12
votes

As @Sotirios Delimanolis wrote it can be done using apache commons but you can also use google guava libraries. For example:

BaseEncoding.base32().encode("test".getBytes());

will return ORSXG5A=.

More information can be found here.