在node.js中将二进制转换为十六进制

时间:2015-05-12 06:11:14

标签: node.js

我想问我想将二进制数据转换为十六进制,然后才将其插入到我的表中。

var net = require(' net');

var server = net.createServer(function(socket){


        socket.on('data',function(data){
        var bindata= data.toString('binary');

        //filter(bindata);

        //if no error convert to hex.
          var hexdata = bindata.toString('hex');

         //insert hexdata here.


});

server.listen(3030,'127.0.0.1', function () {
    console.log("server is listenining");
});

但问题是将插入二进制数据。

提前谢谢。

2 个答案:

答案 0 :(得分:11)

parseInt("10101001", 2).toString(16)
// => "a9"
编辑:我想我误解了这个问题。您的dataBuffer开头,然后将其转换为字符串,然后您希望它为十六进制?如果是这样,请执行data.toString('hex')。如果您已经操纵bindata,则重建为缓冲区:

var bindata = data.toString('binary');
// do something with bindata
var hexdata = new Buffer(bindata, 'ascii').toString('hex');

答案 1 :(得分:0)

试试这个:

parseInt(" 1111",2).toString(16);

parseInt中的第二个参数是radix,它代表" 111"值为binary和toString(16)将其转换为十六进制。