Base8 String ie) 0 to 7byte[]
にエンコードしたい。もちろん、Base64 が一般的に使用されており、メモリ フットプリントが少なくなっています。ただし、Base8 エンコーディングを行う必要があります。これに使用できる API はありますか、それとも自分で作成する必要がありますか? ありがとう
1 に答える
2
複数のバイトがある場合、基数 8 がどのように機能するかは明確ではありません。メッセージのサイズを最小限に抑えたいと思うので、
// print in base 8 (or octal)
String text = new BigInteger(1, bytes).toString(8);
あなたができる逆を行うには
byte[] bytes = new BigInteger(text, 8).toByteArray();
if (bytes.length > 1 && bytes[0] == 0) {
// remove the first byte
}
于 2012-12-04T13:40:01.823 に答える