Java で整数値を基数 62 の文字列に変換するには
Integer.toString だと基数 36 (0-9a-z) までしか対応していなかったので自前で作った。
自然数を 62進数表記(0-9a-zA-Z)に変換する。
public static String toBase62String(final long value) { long val = value; StringBuilder sb = new StringBuilder(7); while (val > 0) { int mod = (int)(val % 62); if (mod < 10) { // 数字 sb.append(mod); } else if (mod < 36) { // 英小文字 a = 97 // mod = mod - 10 + 97 mod += 87; sb.append((char)mod); } else { // 英大文字 A = 65 // mod = mod - 36 + 65 mod += 29; sb.append((char)mod); } val = val / 62; } return new String(sb.reverse()); }