いくつかの条件(基本的にビットマップ)に基づいて値が設定/設定解除されるハッシュがあります。このハッシュは、可能な限り最適な方法で (blob 内の) 文字列として格納する必要があります。ビット配列を使用してそれらを数値にパックし、この数値を文字列として格納できると考えました。どうすればこれを行うことができるかについてのアイデアはありますか? これを行うより良い方法はありますか?
質問する
234 次
4 に答える
3
を使用するだけBigInteger
です。バイト配列を引数として取るコンストラクタと.toByteArray()
、数値をバイト配列として取得するコンストラクタがあります。
final BigInteger myHash = new BigInteger(theByteArray);
final byte[] theArray = myHash.toByteArray();
于 2013-06-04T15:42:35.780 に答える
0
long
2 つの値または 4つの値を使用しint
ます。これ以上の効率は得られません。どのような場合でも byte[] との間で変換する必要がある場合は、byte[] を使用できます。
于 2013-06-04T18:07:36.680 に答える
0
文字列として保存する必要がある場合は、数値を base 64 でエンコードする必要があります。Apache Commons CodecのBase64 クラスを使用できます。例えば
String encoded = Base64.encodeBase64String(myBinaryData);
于 2013-06-04T15:45:49.290 に答える
-2
128 ビット配列は unsigned long です。とても簡単で自然なパッキング。
于 2013-06-04T15:38:35.750 に答える