C#将序列化的Intel HEX格式值转换为int

时间:2019-04-22 11:43:44

标签: c# string hex

我有一系列十六进制值,需要将它们从intel Hex格式转换为int。

但是,这些值在单个字符串中,没有分隔符并且长度不同。

字符串示例::A40425B6,它表示3个整数:A4, 0425B6

C中,有一种简单的方法(在删除:之后):

sscanf(line.toLocal8Bit().constData(), "%2x%4x%2x", &byteCount, &address, &recordType);

当然,可以简单地用定界符分割字符串,然后将其转换为:

             byteCount = Convert.ToInt32(line.Substring(1, 2), 16);
             address = Convert.ToUInt32(line.Substring(3, 4), 16);
             recordType = Convert.ToUInt32(line.Substring(7, 2), 16);

但是,有没有一种更清洁的方式来做到这一点呢?

0 个答案:

没有答案