Comment afficher les données de tampon rawjs en tant que chaîne hexadécimale

Le code suivant utilise le module SerialPort pour écouter les données d’une connexion Bluetooth.

Je m’attends à voir un stream de données au format hexadécimal imprimé dans la console. Mais la console montre juste quelques symboles étranges. Je veux savoir comment puis-je décoder et afficher les données dans la console.

var serialPort = new SerialPort("/dev/tty.EV3-SerialPort", { parser: SP.parsers.raw }, false); // this is the openImmediately flag [default is true] serialPort.open(function () { console.log('open'); serialPort.on('data', function(data) { var buff = new Buffer(data, 'utf8'); //no sure about this console.log('data received: ' + buff.toSsortingng()); }); }); 

Ce code affichera le tampon de données sous forme de chaîne hexadécimale:

 buff.toSsortingng('hex'); 

La meilleure réponse est la manière la plus simple de le faire.

Une méthode alternative:

 data = Buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]); Array.prototype.map.call(new Uint8Array(data), x => ('00' + x.toSsortingng(16)).slice(-2)).join('').match(/[a-fA-F0-9]{2}/g).reverse().join('');