gpt4 book ai didi

javascript - 从 tcp 流中提取整数

转载 作者:可可西里 更新时间:2023-11-01 02:33:25 25 4
gpt4 key购买 nike

我正在使用 node.js 构建一个 tcp 服务器,我想从接收到的数据中提取整数。

var net = require('net');
var server = net.createServer(function (socket) {
socket.setEncoding('ascii');
socket.addListener("data", function (data) {
var pkgDataContent = data.substr(0, 2);
});
});
server.listen(1337, "192.168.80.91");

接收到的数据为字符串类型,数字为1字节、2字节、4字节。如何从 javascript 字符串中提取这些 1 字节、2 字节和 4 字节的整数?像上面的代码:pkgDataContent是一个2字节的字符串,但实际上是一个整数,如何正确地转换成javascript数字?

最佳答案

取决于字节顺序以及它是否已签名。

大端 32 位无符号整数:

pkgDataContent.charCodeAt(0) << (8*3) +
pkgDataContent.charCodeAt(1) << (8*2) +
pkgDataContent.charCodeAt(2) << (8*1) +
pkgDataContent.charCodeAt(3) << (8*0)

little endian 32 位无符号整数:

pkgDataContent.charCodeAt(3) << (8*0) +
pkgDataContent.charCodeAt(2) << (8*1) +
pkgDataContent.charCodeAt(1) << (8*2) +
pkgDataContent.charCodeAt(0) << (8*3)

关于javascript - 从 tcp 流中提取整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6038995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com