Java中将字符串编码为base32字符串

19
就像标题所说的那样,我正在尝试将字符串“test”编码为Java中的Base32字符串“ORSXG5A =”。
在搜索在线信息时,我发现的都是将字符串编码成由32位数组成的数组的类,但显然这不是我想要的。
对于这个新手问题,我很抱歉。

如果找不到现成的Base32转换器,可以找一个Base64转换器并进行修改--原理相同只是更简单。 - Hot Licks
2个回答

36

Apache commons-codec 提供了一个 Base32 类,可以实现此功能。

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

输出

ORSXG5A=

你可以在这里下载它。


谢谢!实际上,.getBytes() 是我所需要的唯一东西 :) - Daniele Testa
2
@DanieleTesta 你可能还需要考虑你的字符串所使用的字符编码。 - Sotirios Delimanolis

15

正如@Sotirios Delimanolis所写,可以使用apache commons来完成此操作,但您也可以使用Google Guava库。例如:

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

将返回ORSXG5A=

更多信息可以在此处找到。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接