如何制作一个前八个字节作为当前时间戳的字节数组?

Posted

技术标签:

【中文标题】如何制作一个前八个字节作为当前时间戳的字节数组?【英文标题】:How to make a byte array with first eight bytes as current timestamp? 【发布时间】:2016-11-01 18:24:32 【问题描述】:

我正在制作一个预定义大小的字节数组,如下所示:

private byte[] newPayload() 
  byte[] payload = new byte[100];
  Arrays.fill(payload, (byte) 1);
  return payload;

现在我想在它前面的同一个字节数组中添加 8 个字节的当前时间戳

long time = System.currentTimeMillis();

所以前 8 个字节将是当前时间戳,其余 92 个字节将与我现在所做的相同。

【问题讨论】:

【参考方案1】:

您可以使用 ByteBuffer 将long 转换为byte[]。您也可以使用System.arraycopy 将此byte[] 复制到邮件数组。请参考以下代码。

ByteBuffer buffer = ByteBuffer.allocate(Long.SIZE / Byte.SIZE);
buffer.putLong(time);
byte[] timeBytes = buffer.array();
System.arraycopy(timeBytes, 0, payload, 0, timeBytes.length);

【讨论】:

看起来,我找不到 Long 类的 BYTES?我只看到大小? 你可以试试(Long.SIZE / Byte.SIZE) 另外假设如果我有这个新的字节数组,现在我如何从有效负载字节数组中提取前 8 个字节并将它们转换为 long 并打印出来? 希望这会有所帮助.. ***.com/questions/4485128/… 是的,但我将如何仅从字节数组中提取前八个字节?

以上是关于如何制作一个前八个字节作为当前时间戳的字节数组?的主要内容,如果未能解决你的问题,请参考以下文章

如何将字节数组作为图像文件存储在磁盘上?

即时通讯(III)

如何从字节数组制作精灵?

Java:如何“修剪”字节数组?

如何在java中从像素字节数组制作bmp图像

如何通过使用 ByteBuffer 查看标头偏移量来制作字节数组?