转换 Uint8Array 在 hex 字符串等效B. node.js

我用 node.js v4.5. 假设我有这个变量 Uint8Array.


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


此阵列可以是任何长度,但假设长度是相等的 4.

我想拥有一个转换的函数
uint8

在等效的字符串中 hex.


var hex_string = convertUint8_to_hexStr/uint8/;
//hex_string becomes "1f2f3f4f"
已邀请:

小明明

赞同来自:

您可以使用
Buffer.from//

https://nodejs.org/api/buffer. ... ength
然后使用
https://nodejs.org/api/buffer. ... t_end
:


let hex = Buffer.from/uint8/.toString/'hex'/;

冰洋

赞同来自:

另一种解决方案:

转换的基本功能 int8 在 hex:


// padd with leading 0 if <16
function i2hex/i/ {
return /'0' + i.toString/16//.slice/-2/;
}



reduce

:


uint8.reduce/function/memo, i/ {return memo + i2hex/i/}, ''/;


或者
map


join

:


Array.from/uint8/.map/i2hex/.join/''/;

要回复问题请先登录注册