int[] bData = new int[str.Length/2];
//byte[] bData = Encoding.ASCII.GetBytes(PassData.BootLoader.strData);
for (int i=0,j=2;j<str.Length-2;i++,j+=2) //掐头去尾
{
bData[i] = Convert.ToInt32(str.Substring(j, 2),16); //将截取的字符串转为16进制存储在数组中
}
string CRC16= CRC16_MODBUS(bData, bData.Length-2).ToString("X4"); //CRC16的值转为16进制高位在前低位在后
bData[bData.Length - 1] = Convert.ToInt32(CRC16.Substring(0,2),16); //将CRC16的值存储到数组中,低位在前,高位在后
bData[bData.Length - 2] = Convert.ToInt32(CRC16.Substring(2, 2), 16);
C#字符串转为16进制存储在数组中
于 2021-05-21 11:34:00 首次发布
这段代码展示了如何从字符串中提取16进制数据,存储到数组中,并进行CRC16_MODBUS校验。它涉及到字符串截取、转换、以及CRC校验值的高位和低位存储。
932

被折叠的 条评论
为什么被折叠?



