📜  字节数到数组js - Javascript(1)

📅  最后修改于: 2023-12-03 15:39:03.023000             🧑  作者: Mango

将字节数组转换为数组-纯JavaScript实现

如果你需要使用javascript处理二进制文件并希望将字节数组转换为普通的javascript数组,则以下方法可能会对您有所帮助。

我们将使用FileReader API读取二进制文件,并将其读入字节数组。 然后,我们将使用Uint8Array构造函数将字节数组转换为javascript数组。 让我们一起来看看实现。

步骤1-读取二进制文件

我们可以使用以下代码读取二进制文件:

const reader = new FileReader();
reader.onload = (event) => {
  const buffer = event.target.result;
  // do something with the buffer
}
reader.readAsArrayBuffer(file);

上面的代码将文件读入ArrayBuffer中。 ArrayBuffer表示一 contiguous area of memory,用于存储一系列元素。 ArrayBuffer 是静态的,不能直接使用,因此我们需要将其转换为类型化数组。

步骤2-将字节数组转换为类型化数组

接下来,我们将使用以下代码将字节数组转换为JavaScript数组:

const uintArray = new Uint8Array(buffer);

上面的代码将ArrayBuffer转换为Uint8Array,它将字节数组存储为一个类型化数组(Uint8Array)。

完整代码

这里是完整的代码片段,它将读取二进制文件并将字节数组转换为javascript数组:

const reader = new FileReader();
reader.onload = (event) => {
  const buffer = event.target.result;
  const uintArray = new Uint8Array(buffer);
  console.log(Array.from(uintArray));
}
reader.readAsArrayBuffer(file);

上面的代码将打印类型化数组的每个元素,这些元素表示除文件中的每个字节以外的其他数据,因为每个字节都对应一个元素。

结尾

现在,您已经了解了如何将字节数组转换为javascript数组。 这将使您可以更轻松地处理二进制文件。 希望这篇文章能帮助到你。