我有一个用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个字节),我该如何做呢?
答案 0 :(得分:0)
您可以使用内置对象Buffer。
如果没有尝试过以下示例,但它应该可以工作。 如果没有,那么你有一个自己尝试的起点; - )。
var buf = new Buffer(data);
var short_name = buf.toString('ascii', 0, 16);
var name = buf.toString('ascii', 16, 32);