File size: 700 Bytes
b0bfea8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
/**
* Reads as Big endian
* @param dataArray {IndexedByteArray}
* @param bytesAmount {number}
* @returns {number}
*/
export function readBytesAsUintBigEndian(dataArray, bytesAmount)
{
let out = 0;
for (let i = 8 * (bytesAmount - 1); i >= 0; i -= 8)
{
out |= (dataArray[dataArray.currentIndex++] << i);
}
return out >>> 0;
}
/**
* @param number {number}
* @param bytesAmount {number}
* @returns {number[]}
*/
export function writeBytesAsUintBigEndian(number, bytesAmount)
{
const bytes = new Array(bytesAmount).fill(0);
for (let i = bytesAmount - 1; i >= 0; i--)
{
bytes[i] = number & 0xFF;
number >>= 8;
}
return bytes;
} |