【发布时间】:2011-08-27 16:41:22
【问题描述】:
我正在使用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数字?
【问题讨论】:
-
每个字符不是 ascii 1 字节吗?那样的话,你就不能用
pkgDataContent.charCodeAt(0)吗? -
您确定您的示例代码正确吗?当一个就足够了并且您缺少一个“})”时,您似乎添加了两个“数据”侦听器。
-
如果数据以一、二或四字节整数开头,您如何区分它们?值是否以某种方式分隔?
-
@Rob Raisch,感谢您指出错误,我已更正。该流具有精确的格式,因此可以使用约定提取整数。
标签: javascript tcp node.js