我使用的是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"
4条答案
按热度按时间cotxawn71#
您可以先使用
Buffer.from()
,然后再使用toString('hex')
:pbossiut2#
另一种解决方案:
将int8转换为十六进制的基本函数:
reduce
:或者
map
和join
:m3eecexj3#
Buffer.from
具有多个覆盖。如果直接使用
uint8
调用它,则它不必要地复制其内容,因为它选择Buffer.from( <Buffer|Uint8Array> )
版本。您应该调用
Buffer.from( arrayBuffer[, byteOffset[, length]] )
版本,该版本不复制,而只是创建缓冲区的视图。w8f9ii694#
缓冲区特定于nodeJS。
这是一个在任何地方都适用的版本: