//異或校驗
function chk8xor(hexarr) {
? var bcc = 0;
? var xor = 0;
? for(var i= 0; i< hexarr.length; i++){
? ? ? var hexint = parseInt(hexarr[i],16);
? ? ? if(i==0){ xor = hexint; }
? ? ? else {
? ? ? ? ? bcc = xor ^ hexint;
? ? ? ? ? xor = bcc;
? ? ? }
? }
? return fillZero(bcc.toString(16),2)
}
//字符串長度判斷不足填充0
function fillZero(num, n) {?
? var len = num.toString().length;?
? while(len < n) {?
? ? ? num = "0" + num;?
? ? ? len++;?
? }?
? return num;?
}
//字符串轉(zhuǎn)為數(shù)組
function str2Arr(str,num){
? var arr = [];
? var len = str.length;
? for (let index = 0; index < len; index+=num) {
? ? arr.push(str.slice(index,index+num));
? }
? return arr;
}
console.log(chk8xor(str2Arr('01A07CFF02',2)));
//輸出20