微信小程序蓝牙BLE开发——计算校验和(六)

根据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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值