javascript 在 nodejs 上表示 4 字节数组中的时间戳

javascript on nodejs represent timestamp in a 4 bytes array

为了使用外部 API,我需要在一个 4 字节数组中存储当前时间戳。 我在他们的示例中看到数组应该查找例如:

[97, 91, 43, 83] // timestamp

他们是如何得出上述数字的?以及如何将 javascript (es6) 和 node.js 当前时间戳保存到 4 字节数组中?

一个常见的时间戳指标是 Unix time。我写这个的时间,unix时间是1652213764,十六进制是62 7a c8 04,确实可以用4个字节表示。十进制字节的等价物是 98 122 200 4.

如何在 JavaScript 中执行此操作:

function timeStampBytes(timestamp) {
    const res = new Uint8Array(4);
    res[0] = timestamp >> 24;
    res[1] = (timestamp >> 16) & 0xff;
    res[2] = (timestamp >> 8) & 0xff;
    res[3] = timestamp & 0xff;
    return res;
}

let timestamp = Math.floor(Date.now() / 1000); // Unix time
console.log("timestamp: ", timestamp);
console.log("timestamp in HEX: ", timestamp.toString(16));
console.log("timestamp in bytes array: ", ...timeStampBytes(timestamp));