次のコードを試しました:
import java.math.BigInteger;
import org.apache.commons.codec.binary.Base32;
import org.junit.Test;
public class Sandbox
{
@Test
public void testSomething() {
String sInput = "GIYTINZUHAZTMNBX";
BigInteger bb = new BigInteger(new Base32().decode(sInput));
System.out.println("number = " + bb);
}
}
出力は次のとおりです。
number = 237025977136523702055991
この Web サイトを使用して base 32 を変換すると、実際の出力とは異なる結果が得られます。私がウェブサイトから得たものに基づいて、私が期待する結果は次のとおりです。
expected output = 2147483647
なぜこれが起こっているのですか?
編集:
意図的に 2^31-1 を変換しようとして混乱を招いてしまったことをお許しください。
以前にリンクした変換 Web サイトを使用して、入力を変更しました。
String sInput = "GE4DE===";
期待される出力:
number = 182
実際の出力:
number = 3225650