15 Stimmen

Umwandlung von BitSet in Byte-Array

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?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X