如何在c#中解析位数组到字节数组?

时间:2017-07-14 10:21:56

标签: c# arrays

这个问题非常接近Bit array to Byte array in JAVA,我想将以下位数组转换为字节数组?

int[] bits = {1, 0, 1, 0, 1, 1, 0, 1, 0, 1};

但答案不同的是相关问题,我想存储结果 big-endian 应该是:

0xB5 0x02

我想怎么做?谢谢!

1 个答案:

答案 0 :(得分:2)

试试这段代码:

byte[] result = bits.Select((x, i) => new {byteId = i / 8, bitId = i % 8, bit = x})
    .GroupBy(x => x.byteId)
    .Select(x => (byte) x.Reverse().Aggregate(0, (t, n) => t | n.bit << n.bitId))
    .ToArray();