如何将Buffer数组转换为十六进制?
当我调用我的一个API端点时,我在JSON对象中得到一个Buffer数组。我想将这个数组转换为更“可用”的形式(十六进制?)所以我可以比较它们,等等。这是对象目前的样子:
"hash": {
"type": "Buffer",
"data": [
151,
14,
51,
26,
46,
52,
5,
151,
99,
107,
38,
188,
138,
180,
76,
56,
108,
214,
135,
213,
125,
134,
105,
139,
129,
236,
206,
157,
67,
1,
12,
12
]
}
我如何将这个数组转换为十六进制(或字符串等),以便我可以比较哈希?
回答如下:您可以创建一个新的buffer并将其转换为您需要的格式。
var o = {"hash": {
"type": "Buffer",
"data": [
151,
14,
51,
26,
46,
52,
5,
151,
99,
107,
38,
188,
138,
180,
76,
56,
108,
214,
135,
213,
125,
134,
105,
139,
129,
236,
206,
157,
67,
1,
12,
12
]
}
}
console.log(new Buffer(o.hash,'hex').toString('hex'));
// 970e331a2e340597636b26bc8ab44c386cd687d57d86698b81ecce9d43010c0c
如何将Buffer数组转换为十六进制?
当我调用我的一个API端点时,我在JSON对象中得到一个Buffer数组。我想将这个数组转换为更“可用”的形式(十六进制?)所以我可以比较它们,等等。这是对象目前的样子:
"hash": {
"type": "Buffer",
"data": [
151,
14,
51,
26,
46,
52,
5,
151,
99,
107,
38,
188,
138,
180,
76,
56,
108,
214,
135,
213,
125,
134,
105,
139,
129,
236,
206,
157,
67,
1,
12,
12
]
}
我如何将这个数组转换为十六进制(或字符串等),以便我可以比较哈希?
回答如下:您可以创建一个新的buffer并将其转换为您需要的格式。
var o = {"hash": {
"type": "Buffer",
"data": [
151,
14,
51,
26,
46,
52,
5,
151,
99,
107,
38,
188,
138,
180,
76,
56,
108,
214,
135,
213,
125,
134,
105,
139,
129,
236,
206,
157,
67,
1,
12,
12
]
}
}
console.log(new Buffer(o.hash,'hex').toString('hex'));
// 970e331a2e340597636b26bc8ab44c386cd687d57d86698b81ecce9d43010c0c