I can't figure out how to do the following in javascript without using eval(), which sounds a little bit overkill to me.
let sId = "12345678";
let buffer = new Uint8Array(4);
buffer[0] = eval('0x' + sId.substring(6, 8) + ";");
buffer[1] = eval('0x' + sId.substring(4, 6) + ";");
buffer[2] = eval('0x' + sId.substring(2, 4) + ";");
buffer[3] = eval('0x' + sId.substring(0, 2) + ";");
Use the Number constructor instead of eval.
The values are the same whether you use eval, Number(), or a literal:
const sId = "12345678";
const testA = 0x78;
const testB = Number('0x' + sId.substring(6, 8));
const testC = eval('0x' + sId.substring(6, 8) + ";");
console.log(testA, testB, testC);
let sId = "12345678";
let buffer = new Uint8Array(4);
buffer[0] = Number('0x' + sId.substring(6, 8));
buffer[1] = Number('0x' + sId.substring(4, 6));
buffer[2] = Number('0x' + sId.substring(2, 4));
buffer[3] = Number('0x' + sId.substring(0, 2));
console.log(buffer);