Ich habe dieses Beispiel aufgegriffen, das BitSet in Byte-Array konvertiert.
public static byte[] toByteArray(BitSet bits) {
byte[] bytes = new byte[bits.length()/8+1];
for (int i=0; i<bits.length(); i++) {
if (bits.get(i)) {
bytes[bytes.length-i/8-1] |= 1<<(i%8);
}
}
return bytes;
}
Aber in den Diskussionsforen habe ich gesehen, dass wir mit dieser Methode nicht alle Bits erhalten, da wir ein Bit pro Berechnung verlieren. Stimmt das? Müssen wir die obige Methode ändern?