代码如下,分成两个步骤:
1、将字符串分割;
2、将字符串按16进制解析成整数;
3、计算校验和;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
string str = "55 AA 00 00 00 00 00 00 01 00 00 00 32 ";
char[] chs = { ' ' };
string [] result = str.Split(chs, options: StringSplitOptions.RemoveEmptyEntries);
byte[] res = new byte[result.Length];
for (int i = 0; i < result.Length; i++)
{
res[i] = Convert.ToByte(result[i], 16);
}
byte checkNum = 0;
for (int i = 0; i < res.Length - 1; i++) //求校验和
{
checkNum += res[i];
}
if (checkNum == res[res.Length - 1])
{
Console.WriteLine("ok");
}
Console.WriteLine(res.Length);
Console.ReadKey();
}
}
}