socket发送数字的问题
发布于 9 年前 作者 autooFelix 4029 次浏览 最后一次编辑是 8 年前 来自 问答

比如说要发送一个数字 5004 (0x13 0x8C) 需要server收到的格式是 8C 13 00 00 (4个字节) 如果是c++或.net用结构体很容易搞定 到了 js 就有问题了 请大神帮忙看一下

3 回复

var num = 5004; var hexStr = num.toString(16); var flag = hexStr.length % 2; if (flag == 1) { hexStr = ‘0’ + hexStr; } var buf = new Buffer(4); var index = 0; for (var i = hexStr.length - 2; i >= 0; i-=2) { buf[index++] = parseInt(hexStr.substr(i, 2), 16).toString(); } console.log(buf);

在buffer的文档里面有,你看看是readInt32LE 还是 readInt32BE。。 https://nodejs.org/api/buffer.html#buffer_buf_readint32le_offset_noassert

@albin3 谢了,没认真看过文档,自己手写了一个,还好能用

回到顶部