我想将base16字符串转换为base32字符串。例如,如果我有一个base-16字符串 - “000000000288”现在我想将它转换为base-32对应字符(“K-8”)。
有一个网站可以做到:
答案 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
可以存储的数量,我建议您为分数部分运行自己的基本转换功能。