js crc16检验

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
crc16(data) {
    let crcValue = 0xFFFF;
    for (let i = 0; i < data.length; i++) {
        crcValue ^= data[i] & 0xFFFF
        for (let j = 0; j < 8; j++) {
            if (crcValue & 0x0001) {
                crcValue >>= 1
                crcValue ^= 0xA001
            } else {
                crcValue >>= 1
            }
        }
    }
 
    crcValue = crcValue.toString(16)
    let crcArr = new Array(2)
    crcArr[0] = crcValue.substring(2, 4)
    crcArr[1] = crcValue.substring(0, 2)
    return crcArr
}
 
var res=crc16(Buffer.from("010101", "hex"));
console.log(res)

 

1
2
3
4
//要引入buffer
npm install buffer
 
import {Buffer  } from 'buffer'

  

posted @   evemen  阅读(1110)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示