在Android中将Base-16字符串转换为Base-32

时间:2012-07-09 06:26:53

标签: java android base32

我想将base16字符串转换为base32字符串。例如,如果我有一个base-16字符串 - “000000000288”现在我想将它转换为base-32对应字符(“K-8”)。

有一个网站可以做到:

http://www.unitconversion.org/unit_converter/numbers.html

2 个答案:

答案 0 :(得分:1)

我认为你可以这样做:

int number = Integer.parseInt("000000000288", 16);
String base32 = Integer.toString(number, 32);

编辑:抱歉,我忘了将radix参数添加到第一行。我现在已经改变了。

答案 1 :(得分:0)

我发现java的BigInteger位操作中是最好的。在其广泛的用途(主要是存储大量数据,直到您的内存堆栈可以允许和支持其广泛的支持操作)中,您可以选择从2到36的基本转换< /强>

示例代码:

BigInteger num=new BigInteger("000000000288",16);     //Store as Hexa

//Display the result using BigInteger.toString(radix)
System.out.println("Result = "+num.toString(32));    //Showing result in 32 base

当然,如果您正在处理具有小数部分的数字,则必须使用Magicode的Integer.toString(radix)方法。或者,如果您的数字大于int可以存储的数量,我建议您为分数部分运行自己的基本转换功能。