根据16进制数据,计算校验和
- 最近做BLE项目,这里再次记录下 如何计算
校验和
?
计算校验和
/**
* 校验和
* data:16进制数据
*/
const checkSumByData = (data) => {
if(!data) return ''
let total = 0;
for (let i = 0; i < data.length; i += 2) {
let str = data.substr(i, 2);
total += parseInt(str, 16);
}
let hex = total.toString(16);
// 判断校验位的长度,补0
if (hex.length < 2) hex = `0${hex}`;
return hex;
}
Demo
let hex = '5303010100';
let checkSum = checkSumByData(hex)
console.log('校验和为:', checkSum) // 58