★★Java質問・相談スレッド139★★

このエントリーをはてなブックマークに追加
328デフォルトの名無しさん
関数名だけ見て、Base32かと思ったんですが、全然違ったようで、
じっくり中身を呼んでみて理解できないことに困ってるところです。

↓いちおうBase32だと思って書いたコードです

BigInteger value = new BigInteger("1c68ee574965514ec9c27a57972719ea", 16);

BigInteger BigInteger32 = new BigInteger("32");

BigInteger BigIntegerZero = new BigInteger("0");


String tbls = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";
char[] tbl = tbls.toCharArray();


StringBuilder sb = new StringBuilder();
while(value.compareTo(BigIntegerZero) > 0){
  sb.insert(0, tbl[ value.remainder(BigInteger32).intValue() ]);

  value = value.divide(BigInteger32);
}

System.out.println(sb.toString());