Node.js 从缓冲区读取二进制数据
我试图检查给定缓冲区的二进制数据,如下所示:Node.js 从缓冲区读取二进制数据,node.js,Node.js,我试图检查给定缓冲区的二进制数据,如下所示: <Buffer 08 30 66 6d 41 64 69 76 66> TMK,即8字节的数据 我要做的是检查第一个字节,并查看第一个字节中的最高有效位(最左边的位) 如何确定第一位是零还是一?最简单的解决方案是: Number(buf[0] > 127) 之所以有效,是因为: JS将字节视为无符号,即始终为正;因此,字节的值在[0..255]范围内,而有符号字节的值在[-128..127]范围内 数字(真)=1,数字(假)
<Buffer 08 30 66 6d 41 64 69 76 66>
TMK,即8字节的数据
我要做的是检查第一个字节,并查看第一个字节中的最高有效位(最左边的位)
如何确定第一位是零还是一?最简单的解决方案是:
Number(buf[0] > 127)
之所以有效,是因为:
((buf[0] & 0xff) >> 7)