在Node.js

时间:2016-08-30 10:34:52

标签: node.js string-conversion

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

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

此数组可以是任意长度,但我们假设长度为4.

我想要一个将uint8转换为十六进制字符串等效函数的函数。

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

2 个答案:

答案 0 :(得分:18)

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

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

答案 1 :(得分:5)

另一种解决方案:reduce

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

mapjoin

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