我正在使用node.js v6。
我有这个十六进制字符串;
let hex_string = "0102030402";
我想将hex_string
转换为整数array_hex_integer
的数组,如下所示;
let array_hex_integer;
array_hex_integer = [1, 2, 3, 4, 2];
array_hex_integer
中的第一个元素对应hex_string
中的'01'(第1和第2个字符),第2个元素对应hex_string
中的'02'(第3个和第4个字符),等等。
答案 0 :(得分:4)
这是一种可能的方法来做你需要的。
var hex_string = "0102030402";
var tokens = hex_string.match(/\d\d/gi);
var result = tokens.map(t => parseInt(t));
答案 1 :(得分:2)
您可以使用拆分javascript功能。
var hex_string = "0102030402";
array_hex_integer = hex_string.split('').map(function(item) {
return parseInt(item, 10);
});
答案 2 :(得分:1)
在javascript中,我使用此函数将hexstring转换为unsigned int数组
function hexToUnsignedInt(inputStr) {
var hex = inputStr.toString();
var Uint8Array = new Array();
for (var n = 0; n < hex.length; n += 2) {
Uint8Array.push(parseInt(hex.substr(n, 2), 16));
}
return Uint8Array;
}
希望这对某人有帮助
答案 3 :(得分:0)
首先,将hex_string
拆分为字符串数组。查看我的函数split_str()
。然后,将此数组的字符串转换为您想要的整数数组。
function split_str(str, n)
{
var arr = new Array;
for (var i = 0; i < str.length; i += n)
{
arr.push(str.substr(i, n));
}
return arr;
}
function convert_str_into_int_arr(array_str)
{
let int_arr = [];
for (let i =0; i < array_str.length; i++)
{
int_arr [i]=parseFloat(array_str[i]);
}
return int_arr;
}
let answer_str = split_str(hex_string,10);
let answer_int = convert_str_into_int_arr(answer_str);