如何将长数组转换为字节数组

本文关键字:数组 字节 字节数 转换 | 更新日期: 2023-09-27 18:35:03

数据来自程序外部,因为长数组必须转换为字节数组。 如何有效地做到这一点?同样,有没有办法选择转换类型为小端序或大端序。

如何将长数组转换为字节数组

您可以这样做将long数组转换为byte数组:

bool isLittleEndian = true;
byte[] data = new byte[longData.Length * 8];
int offset = 0;
foreach (long value in longData) {
  byte[] buffer = BitConverter.GetBytes(value);
  if (BitConverter.IsLittleEndian != isLittleEndian) {
    Array.Reverse(buffer);
  }
  buffer.CopyTo(data, offset);
  offset += 8;
}

这通常足够有效。如果需要它更快,则应在不安全的代码块中使用指针。