Javascript NodeJS-以二进制/位形式获取缓冲区对象

Javascript NodeJS-以二进制/位形式获取缓冲区对象,javascript,node.js,binary,buffer,Javascript,Node.js,Binary,Buffer,我正在学习Node JS 使用NodeJS处理UDP服务器 我想处理UDP数据包中包含DNS查询数据包的字节 在“message”事件上接收消息,将消息作为缓冲区对象提供 var s = dgram.createSocket('udp4'); s.bind(53, function() { }); s.on('message',function(msg,rinfo){ console.log("Length = "+msg.length); console.log(msg.t

我正在学习Node JS

使用NodeJS处理UDP服务器

我想处理UDP数据包中包含DNS查询数据包的字节

在“message”事件上接收消息,将消息作为缓冲区对象提供

var s = dgram.createSocket('udp4'); 
s.bind(53, function() {

});
s.on('message',function(msg,rinfo){
    console.log("Length = "+msg.length);
    console.log(msg.toString());
});
我希望以二进制形式接收消息。如何从缓冲区对象获取二进制形式的消息

var s = dgram.createSocket('udp4'); 
s.bind(53, function() {

});
s.on('message',function(msg,rinfo){
    console.log("Length = "+msg.length);
    console.log(msg.toString());
});

我试图阅读节点JS文档,但找不到。请帮助我。

如果您想将其转换为二进制,请使用toString。您必须使用toString'binary'

例如:

s.on('message',function(msg,rinfo){
       var binaryData = msg.toString('binary');
}); 
进一步阅读:


“二进制形式”是什么意思?@Ankur:你能回答@vkurchatkin的问题吗?@vkurchatkin我已经编辑了我的问题以消除混淆。我想处理UDP数据包中包含DNS查询数据包的字节。仍然令人困惑,因为缓冲区就是这么做的。@AnkurLoriya您只需使用msg[index]访问给定的字节。您不必首先将其转换为字符串。这可能是正确的,但我认为我们没有足够的信息。您的示例返回一个二进制编码的字符串,如果您可以使用缓冲区,这几乎永远都不是您想要的。您能对问题本身进行同样的注释吗?