let bf = [0x2E, 0xEF, 0xBC, 0xA0];
let offset = 0;
function read_u8() {
return bf[offset++];
}
function read_u16() {
return read_u8() | read_u8() << 8;
}
function read_u24() {
return read_u16() | read_u8() << 16;
}
function read_u32() {
return read_u24() | read_u8() << 24;
}
console.log(read_u8()); // 46 - correctly
offset = 0;
console.log(read_u16()); // 61230 - correctly
offset = 0;
console.log(read_u24()); // 12381998 - correctly
offset = 0;
console.log(read_u32()); // -1598230738 - what the? it's signed