bytearray를 비트 배열로 변환하는 방법은 무엇입니까?바이트 배열을 비트 배열로 변환 하시겠습니까?
24
A
답변
40
명백한 방법; 바이트 배열을 취하는 생성자를 사용하여 :
그것은 당신이BitArray
클래스의 인스턴스를 의미하는 경우 "비트 배열"... 무슨 뜻인지에 따라 달라집니다
BitArray bits = new BitArray(arrayOfBytes);
13
, Guffa의 대답은 잘 작동합니다.
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;
}
}
+1
귀하의 답변이 위의 답변보다 더 적합합니다. 결과에 선행 0이 포함되어 있습니다. +1 – Nolesh
2
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;
}
+6
그냥 궁금해서 .. 그는 그 기능을 다른 방식으로 원하지 않니? !! –
0
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();
}
0
당신은 스트림을 만들 BitArray
을 사용할 수 있습니다 : 당신이 실제로 인스턴스에 대한 bool[]
의 형태로 비트의 배열을 원하는 경우
, 당신은 그런 일을 할 수 배열의 비트 수는 byte
입니다. 여기 예 :
string testMessage = "This is a test message";
byte[] messageBytes = Encoding.ASCII.GetBytes(testMessage);
BitArray messageBits = new BitArray(messageBytes);
관련 문제
- 1. VB.NET에서 double 배열을 바이트 배열로 변환 하시겠습니까?
- 2. 문자열 배열을 바이트 배열로 변환
- 3. 샘플이있는 배열을 바이트 배열로 변환
- 4. Java : 바이트 배열을 바이트 배열로 변환
- 5. Java - 오디오의 바이트 배열을 정수 배열로 변환
- 6. C에서 바이트 배열을 short 배열로 변환
- 7. 그러나 바이트 배열로 메모리를 변환 하시겠습니까?
- 8. tiff 바이트 배열을 C 바이트로 itextsharp를 사용하여 바이트 배열로 변환
- 9. int를 C의 바이트 배열로 변환 하시겠습니까?
- 10. UTF-8에서 문자열을 바이트 배열로 변환 하시겠습니까?
- 11. 테이블을 바이트 배열로 변환
- 12. 바이트 배열을 이스케이프 문자열로 변환
- 13. Java 문자열을 바이트 배열로 변환
- 14. 유형 배열을 일반 배열로 변환 하시겠습니까?
- 15. 해시 배열을 구조체 배열로 변환 하시겠습니까?
- 16. 배열을 다차원 배열로 변환
- 17. 범위를 비트 배열로 변환
- 18. datatable 열의 바이트 배열을 string으로 변환 하시겠습니까?
- 19. MS VC++ 바이트 배열을 BSTR로 변환 하시겠습니까?
- 20. 바이트 배열을 Dictionary 또는 NameValueCollection으로 변환 하시겠습니까?
- 21. 데이터 배열을 복사하지 않고 short 배열로 변환
- 22. 구조체를 .NET의 바이트 배열로 변환
- 23. IronPython - 바이트 배열로 int 변환
- 24. 클래스를 바이트 배열로 변환 + C#
- 25. C# WPF 바이트 배열을 비디오 파일로 변환 하시겠습니까?
- 26. 안드로이드 - 바이트 rgb_565 배열을 argb 또는 rgb 배열로 변환
- 27. 이미지를 Matlab의 png 바이트 배열로 변환
- 28. 이중 배열을 IComparable 배열로 변환
- 29. VBA 배열을 JSON 배열로 변환
- 30. long 배열을 문자열 배열로 변환
기존 비트 배열은 어떻게됩니까? – Sir