// 算法将十六进制取部分并转换为10进制并存for(var i =0; i <this.arraryData.length; i++){// 取第8位开始往后去8个数字并打印this.arraryData[i].content =this.arraryData[i].content.substr(8,8)
console.log(this.arraryData[i].content);// 将8个数字两两隔开并在中间添加空格this.arraryData[i].content =this.arraryData[i].content.replace(/\s/g,'').replace(/(.{2})/g,"$1 ");// 将8个数字两两颠倒并输出将其转换成10进制数并打印this.arraryData[i].content =parseInt(this.arraryData[i].content.replace(/\b(0+)/gi,"").split(" ").reverse().join(''),16)
console.log(this.arraryData[i].content);}
二、大端互换小端算法
exportdefault{dataConversion(data){
data = data.replace(/\s/g,'').replace(/(.{2})/g,"$1 ");
data = data.split(" ").reverse().join("")return data
}}
三、CheckSum算法
exportdefault{// 以数组形式推送,数组中是十进制数checksum(num){// 打印数组
console.log(num)var sum =0// 十进制计算和是否大于255for(var i =0; i < num.length; i++){
num[i]=parseInt(num[i])
sum = sum + num[i]}
console.log(sum)if(sum <=255){
console.log(scale.switch_sl(sum,16,2))return scale.switch_sl(sum,16,2)}if(sum >255){// 取反
console.log((sum).toString(2))var a =(sum).toString(2)+""
a = a.replace(newRegExp("0",("gm")),"2")
a = a.replace(newRegExp("1",("gm")),"0")
a = a.replace(newRegExp("2",("gm")),"1")
console.log(a)// 算法转10进制+1var b =parseInt(a,2)+1
console.log(b)var c =(b).toString(2)
console.log(c)// 再判断下是否满8位数if(c.length <=8){var d =parseInt(c,2)
console.log(d)var m = scale.switch_sl(d,16,2)
console.log(m)return m
}if(c.length >8){var f = c.slice(-8)var e =parseInt(f,2)var n = scale.switch_sl(e,16,2)
console.log(n)return n
}}},}
四、十进制转十六进制算法
// 十进制转十六进制算法exportdefault{// (数字,16,类型)// 类型1:返回四位 类型2:返回两位switch_sl(num, system, type){// 十进制转其它进制,仅支持到十六进制var shiliu =['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G'],
sl_arr =[];do{var fl_sl = Math.floor(num / system);var yu_sl = num % system;
sl_arr.unshift(shiliu[yu_sl]);
num = fl_sl;}while(num >0)var data =0;
data = sl_arr.join('')if(type ==1){if(data.length ==1){return'000'+ data
}if(data.length ==2){return'00'+ data
}if(data.length ==3){return'0'+ data
}if(data.length ==4){return data
}}if(type ==2){if(data.length ==1){return'0'+ data
}if(data.length ==2){return data
}}}}