我想将 base16 字符串转换为 base32 字符串。例如,如果我有一个 base-16 字符串——“000000000288”,现在我想将其转换为 base-32 对应项(“K-8”)。
有一个网站可以做到:
我想将 base16 字符串转换为 base32 字符串。例如,如果我有一个 base-16 字符串——“000000000288”,现在我想将其转换为 base-32 对应项(“K-8”)。
有一个网站可以做到:
我认为你可以这样做:
int number = Integer.parseInt("000000000288", 16);
String base32 = Integer.toString(number, 32);
编辑:对不起,我忘了将基数参数添加到第一行。我现在已经改变了。
我发现 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
当然,如果您要处理具有小数部分的数字,则必须使用 Magiccode 的方法Integer.toString(radix)
。或者,如果您的数字大于int
可以存储的数字,我建议您为小数部分运行自己的基本转换函数。