Wie würde ich ein Bytearray in ein Bit-Array konvertieren?Byte-Array in Bit-Array konvertieren?
Antwort
Der offensichtliche Weg; mit dem Konstruktor, der einen Byte-Array nimmt:
BitArray bits = new BitArray(arrayOfBytes);
Es hängt davon ab, was Sie mit „Bit-Array“ ... Wenn Sie eine Instanz der Klasse BitArray
bedeuten sollte Guffa Antwort funktionieren.
Wenn Sie tatsächlich ein Array von Bits wollen, in Form eines bool[]
zum Beispiel könnte man so etwas tun:
byte[] bytes = ...
bool[] bits = bytes.SelectMany(GetBits).ToArray();
...
IEnumerable<bool> GetBits(byte b)
{
for(int i = 0; i < 8; i++)
{
yield return (b & 0x80) != 0;
b *= 2;
}
}
Ihre Antwort ist passender als die obige Antwort cos Ergebnis enthält führende Nullen. +1 – Nolesh
public static byte[] ToByteArray(this BitArray bits)
{
int numBytes = bits.Count/8;
if (bits.Count % 8 != 0) numBytes++;
byte[] bytes = new byte[numBytes];
int byteIndex = 0, bitIndex = 0;
for (int i = 0; i < bits.Count; i++) {
if (bits[i])
bytes[byteIndex] |= (byte)(1 << (7 - bitIndex));
bitIndex++;
if (bitIndex == 8) {
bitIndex = 0;
byteIndex++;
}
}
return bytes;
}
Nur neugierig .. Will er die Funktion nicht umgekehrt? !! –
public static byte[] ToByteArray(bool[] byteArray)
{
return = byteArray
.Select(
(val1, idx1) => new { Index = idx1/8, Val = (byte)(val1 ? Math.Pow(2, idx1 % 8) : 0) }
)
.GroupBy(gb => gb.Index)
.Select(val2 => (byte)val2.Sum(s => (byte)s.Val))
.ToArray();
}
Sie können BitArray
verwenden, um einen Strom zu erzeugen von Bits aus einem byte
Array. Hier ein Beispiel:
string testMessage = "This is a test message";
byte[] messageBytes = Encoding.ASCII.GetBytes(testMessage);
BitArray messageBits = new BitArray(messageBytes);
- 1. konvertieren bitarray zu
- 2. PIL: Bytearray in Bild konvertieren
- 3. Konvertieren von C# -Byte in BitArray
- 4. Bytearray von Oracle RAW in System.Guid konvertieren?
- 5. Konvertieren von Bitmap in ByteArray Android
- 6. Konvertieren von ByteArray in UUID Java
- 7. Konvertieren einer binären Zeichenfolgendarstellung in ein Bytearray
- 8. "Buchstäblich" einen String in ein Bytearray konvertieren
- 9. Python Multiprocessing: Sharing Bitarray (Bitarray 0.8.1)
- 10. Schnelle BitArray in OCaml
- 11. Konvertieren von Python ByteArray -> Php
- 12. wie ByteArray in AudioBuffer konvertieren und in Javascript
- 13. Wird beim Konvertieren von Bytearray in Byte eine Kopie erstellt?
- 14. Verwenden von Python zum Konvertieren von Bytearray in Float
- 15. Converting ein Float in Bytearray
- 16. Pip für mich BitArray
- 17. BitArray - Shift-Bits
- 18. C# ByteArray zu Image
- 19. Hex byteArray
- 20. Lucene.NET 2.9 und BitArray/DocIdSet
- 21. Wechsel von Bitarray zu Enum
- 22. Bitarray in Python 2.6 unter Windows installieren
- 23. C#: Bytearray in XML speichern
- 24. Android: conerting Bild in byteArray
- 25. Wie konvertiert man Bytearray zu Bild oder Bild zu Bytearray?
- 26. Saving byteArray zu pdf-Datei in Titanium
- 27. Datei aus Bytearray öffnen
- 28. Bytearray zu Bild asp.net
- 29. Sende ByteArray an JavaScript
- 30. von ByteArray zu BigInteger
Was ist mit einem bereits vorhandenen Bit-Array? – Sir