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));
为了使用外部 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));