らざるすブログ

全てを適当に...

62進数

2005-08-03 16:08:12 | Weblog
仕事で作った62進数を求めかた(Javaバージョン)

// 62進数変換用テーブル
private static final char tbl62[] = {
 '0','1','2','3','4','5','6','7','8','9',
 'a','b','c','d','e','f','g','h','i','j',
 'k','l','m','n','o','p','q','r','s','t',
 'u','v','w','x','y','z','A','B','C','D',
 'E','F','G','H','I','J','K','L','M','N',
 'O','P','Q','R','S','T','U','V','W','X',
 'Y','Z'};

private String toSixtyTwostring(int i) {
 // 10進数を62進数に変換する
 StringBuffer buf = new StringBuffer();
 while (i>=62) {
  buf.append(tbl62[(i % 62)]);
  i = i / 62;
 }
 buf.append(tbl62[i]);
 return buf.reverse().toString();
}

private int parseInt(String s62) {
 String i62 = new StringBuffer(s62).reverse().toString();
 int i10 = 0;
 // 62進数を10進数に変換する
 for (int i=0; i<i62.length(); i++) { 'z')
   return -1;
  if (i62.charAt(i) > '9' && i62.charAt(i) < 'A')
   return -1;
  if (i62.charAt(i) > 'Z' && i62.charAt(i) < 'a')
   return -1;
  for (int j=0; j<tbl62.length; j++) {     i10 += Math.pow(62, (double)i) * j;
    break;
   }
  }
 }
 return i10;
}