将Uint8Array转换为等效于node.js的hexstring

我正在使用node.js v4.5。 假设我有这个Uint8Arrayvariables。

var uint8 = new Uint8Array(4); uint8[0] = 0x1f; uint8[1] = 0x2f; uint8[2] = 0x3f; uint8[3] = 0x4f; 

这个数组可以是任意长度,但是假设长度是4。

我想有一个函数,将uint8转换为相当于hexstring。

 var hex_string = convertUint8_to_hexStr(uint8); //hex_string becomes "1f2f3f4f" 

你可以使用Buffer.from() ,然后使用toString('hex')

 let hex = Buffer.from(uint8).toString('hex'); 

另一个解决scheme: reduce

 uint8.reduce(function(memo, i) { return memo + ('0' + i.toString(16)).slice(-2); //padd with leading 0 if <16 }, ''); 

或者map join

 uint8.map(function(i) { return ('0' + i.toString(16)).slice(-2); }).join('');