2

理想的には、long(JavaではSystem.currentTimeMillis)と接尾辞も長くして、はるかに短い文字列の文字と数字のセットに変換したいと思います。大文字のみを使用します。ユーザーが短いので簡単に入力できるキーを生成するための非常に再利用可能なライブラリのように見えるので、このためのライブラリはすでにありますか。

いつでも書くことができると思いますが、他の人のコード/ライブラリを簡単に入手できると便利です。

  • 0 = 0
  • 1 = 1
  • 2 = 2
  • 残りの桁
  • 11 = A
  • 12 = B
  • 13 = C

だから私は数字を取り、桁数をかなり減らすことができます。

ありがとう、ディーン

4

2 に答える 2

6

単にこれを使用してください:

long l = System.currentTimeMillis();
String str = Long.toString(l, 36).toUpperCase();

元に戻すには、次を使用します。

String str = "9XQ693458KF";
long = Long.parseLong(str, 36); // No need to use toLowerCase here

36は基数(10桁+ 26文字)を表します。

JavaDocリファレンス:

于 2012-12-05T21:30:13.383 に答える
3

最も簡単な方法は、数値を base-36 に変換することです。

Integer.toString(n, 36).toUpperCase()
Long.toString(n, 36).toUpperCase()

これは から までの数字と から0まで9の大文字を使用AしますZ

于 2012-12-05T21:31:21.440 に答える