arrays - Convert uint8array to double in javascript -
i have arraybuffer , want double values.for example [64, -124, 12, 0, 0, 0, 0, 0] 641.5
any ideas?
you adapt excellent answer of t.j. crowder , use dataview#setuint8 given bytes.
var data = [64, -124, 12, 0, 0, 0, 0, 0]; // create buffer var buf = new arraybuffer(8); // create data view of var view = new dataview(buf); // set bytes data.foreach(function (b, i) { view.setuint8(i, b); }); // read bits float/native 64-bit double var num = view.getfloat64(0); // done console.log(num); for multiple numbers, take chunks of 8.
function getfloat(array) { var view = new dataview(new arraybuffer(8)); array.foreach(function (b, i) { view.setuint8(i, b); }); return view.getfloat64(0); } var data = [64, -124, 12, 0, 0, 0, 0, 0, 64, -124, 12, 0, 0, 0, 0, 0], = 0, result = []; while (i < data.length) { result.push(getfloat(data.slice(i, + 8))); += 8; } console.log(result);
Comments
Post a Comment