将C#字节转换为BitArray
是否有任何可用于将byte
转换为BitArray
预定义函数?
一种方法是检查byte
值的每一位,然后执行按位操作。 我想知道是否有任何比这更简单的方法。
是的,使用适当的BitArray()
构造函数,如下所述:
var bits = new BitArray(arrayOfBytes);
您可以使用new BitArray(new byte[] { yourBite })
调用它来创建一个字节的数组。
如果你有一个字节数甚至一个整数等
BitArray myBA = new BitArray(BitConverter.GetBytes(myNumber).ToArray());
注意:您需要对System.Linq的引用
解决方案很简单,只需要两条指令(在下面的代码中标记),只需使用Convert.ToString(btindx,2)
将字节转换为二进制,将结果字符串Convert.ToString(btindx,2)
零为8位(或长度为8), strBin.PadLeft(8,'0');
并连接所有二进制字符串以形成字节数组的位流。如果您愿意,您还可以形成一个字符串数组来分隔每个字节的二进制表示。
byte[] bt = new byte[2] {1,2}; string strBin =string.Empty; byte btindx = 0; string strAllbin = string.Empty; for (int i = 0; i < bt.Length; i++) { btindx = bt[i]; strBin = Convert.ToString(btindx,2); // Convert from Byte to Bin strBin = strBin.PadLeft(8,'0'); // Zero Pad strAllbin += strBin; }