我已阅读BitArray转换中的其他帖子,并尝试了几次,但似乎没有提供我想要的结果。将BitArray转换为小字节数组
我的情况是这样的,我有一些控制LED灯条的c#代码。要发出一个命令到我需要至多28位
1位用于选择2之间导致条
6位置(最大48可寻址的LED)
7为彩色X3带材(0- 127值为颜色)
假设我为该结构创建了一个BitArray,并且我们以半随机方式填充它。
BitArray ba = new BitArray(28);
for(int i = 0 ;i < 28; i++)
{
if (i % 3 == 0)
ba.Set(i, true);
else
ba.Set(i, false);
}
现在我想在4个字节(最后4位可以是一停止信号)粘那些28位,最后把它变成一个字符串,所以我可以通过USB发送字符串至LED带。
我试过的所有方法都将每个1和0转换为不是目标的文字字符。
有没有一种简单的方法可以在C#中实现这一点压缩?
谢谢乔恩。我实际上并不关心字符串表示。我使用的当前系统使用字符串编码进行通信,但最终发送了17个字节来传递相同的信息。我只将它转换为字符串是因为LibUsbDotNet的send方法请求它。我将与本周末提供的解决方案一起工作,看看我是否可以优化传输。 – RGroppa