Files
bennc/src/utilities/number.ts
2025-09-03 19:18:44 +01:00

26 lines
719 B
TypeScript

/**
* Pack a number to a 2 byte Uint16 buffer (big endian).
* @param number The number to pack.
* @returns The packed buffer.
*/
export function numberToUint16BE(number: number): Uint8Array {
const ret = new Uint8Array(2);
ret[0] = (number & 0xff00) >> 8;
ret[1] = (number & 0x00ff) >> 0;
return ret;
}
/**
* Pack a number to a 4 byte Uint32 buffer (big endian).
* @param number The number to pack.
* @returns The packed buffer.
*/
export function numberToUint32BE(number: number): Uint8Array {
const ret = new Uint8Array(4);
ret[0] = (number & 0xff000000) >> 24;
ret[1] = (number & 0x00ff0000) >> 16;
ret[2] = (number & 0x0000ff00) >> 8;
ret[3] = (number & 0x000000ff) >> 0;
return ret;
}