我正在从一个设备阅读数据。数据是一个序列号。我从一个字节数组中获取它,它给我十六进制格式的数据。它给我的序列号数据如下:010203040506070809。如何拆分数字并仅显示组合在一起的每第二个数字,以便得到123456789?我正在使用ESP32从带有RS485的PCB阅读,并使用. js发布到Web服务器。不知道在这种情况下该怎么办。
vmpqdwk31#
表示提取序列号中的每隔一个数字并将它们组合在一起,可以将十六进制字符串转换为字节数组,然后每隔一个字节进行迭代并将其转换回十六进制字符串。最后,可以将十六进制字符串连接起来以获得所需的输出。
const hexString = "010203040506070809"; let serialNumber = ""; for (let i = 1; i < hexString.length; i += 2) { serialNumber += hexString[i]; } console.log(serialNumber); // Output: 123456789
jgovgodb2#
const s = '010203040506070809'; const n = +[...s].filter((_,i)=>i%2).join('') console.log(n) console.log(typeof n)
2条答案
按热度按时间vmpqdwk31#
表示提取序列号中的每隔一个数字并将它们组合在一起,可以将十六进制字符串转换为字节数组,然后每隔一个字节进行迭代并将其转换回十六进制字符串。最后,可以将十六进制字符串连接起来以获得所需的输出。
jgovgodb2#