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

我想问我想将我的二进制数据转换为hex之前,我将这个插入到我的表。

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"); }); 

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

先谢谢你。

 parseInt("10101001", 2).toString(16) // => "a9" 

编辑:我想我误解了这个问题。 你的data是以Buffer ,然后将它转换成一个string,那么你需要它作为hex? 如果是这样,只要做data.toString('hex') 。 如果您已经操作了bindata ,然后重build到一个缓冲区:

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

尝试这个 :

parseInt(“1111”,2).toString(16);

parseInt中的第二个参数是基数,它表示“111”值为二进制,toString(16)将其转换为hex。