在nodejs中按字节拆分对象

时间:2015-08-06 06:31:20

标签: javascript c++ node.js

我有一个用c ++运行的后端代码。我在nodejs中编写前端代码。在打开与服务器的TCP连接时,我从中获取一个结构,格式为:

struct Details {
    char short_name_[16];
    char name_[32];
}

我能够在前端收到它。但是我想把它分成两个字符串。

我试图将short_name_随机分配给" aaaaaaaaaaaaaaa"并且类似地名称_与所有' b。当我在前端打印数据时

console.log('DATA ' + client.remoteAddress + ': ' + data);

输出

 DATA 127.0.0.1: aaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

我想把它们分成两个变量。由于char是1个字节,我试图将它们转换为字符串对象并尝试拆分,但它不起作用,因为JSON.stringify将此转换为字符串,就像一个具有16个97和32个98s的数组。      [97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,98,98,98,98,98,98,98,98,98 ,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98]

如果接收到的结构中有整数(4个字节),我该如何做呢?

1 个答案:

答案 0 :(得分:0)

您可以使用内置对象Buffer。

如果没有尝试过以下示例,但它应该可以工作。 如果没有,那么你有一个自己尝试的起点; - )。

var buf = new Buffer(data);
var short_name = buf.toString('ascii', 0, 16);
var name = buf.toString('ascii', 16, 32);