0

数据样本是:

de 55 7a ff 41 4e 3b 
.. .. .. .. .. .. .. .. .. .. .

.

前六个数字的总和(十六进制)是33b,“校验和”数字是3b,作为总和的最后 2 个字符。

这个校验和的名称是什么?

我怎样才能在Objective C中做到这一点?

谢谢

4

2 回答 2

1

获得十六进制字符串的校验和非常简单,大多数时候,我们只是想多了。

如果您有一个 NSMutableData 并想获得它的校验和,请在此处查看我的答案。

如果你有一个字节数组:

例如:

Byte receivedHex[7] = {0xde, 0x55, 0x7a, 0xff, 0x41, 0x4e, 0x3b};

它甚至更简单:

Byte checksum;
for (int i = 0; i < 7; i++){
    checksum += receivedHex[i];
    checksum = checksum&0xff;
}
于 2013-11-07T22:33:52.323 回答
0

我找到了解决方案

首先,我必须将十六进制转换为 NSData。之后,将 NSData 转换为 NSMutableArray。使用 NSMutableArray 我可以计算六个数字的总和。

于 2013-11-05T10:10:34.983 回答