C#从一个字节中提取7位

时间:2017-03-06 22:46:29

标签: c#

我在C#中有以下功能,我尝试从字节流中提取协议头的不同字段。

我正在获得红地毯

m_SequnceNumber = inBytes[5] & (byte)0x7f;

它表示不能隐含地转换为字节。

我的序列号只有7位。第8位用作标志。以下代码有什么问题?

public Header(byte[] inBytes)
{
    m_syncBytes = BitConverter.ToUInt16(inBytes,0);
    m_DestAddress = BitConverter.ToUInt16(inBytes, 2);
    m_SourceAddress = BitConverter.ToUInt16(inBytes, 3);
    m_Proto = inBytes[4];
    m_SequnceNumber = inBytes[5] & (byte)0x7f;

    m_Length = inBytes[7];
    m_HdrCrc = inBytes[8];
}

0 个答案:

没有答案