使用 ES7 中的 TypedArray 操作二进制数据

阅读时长 4 分钟读完

在计算机领域,二进制数据是非常常见的数据类型,如何操作二进制数据一直是一项技术上的挑战。在 JavaScript 中,通过 ES7 中的 TypedArray,我们可以更加方便地进行二进制数据的操作。

TypedArray 简介

TypedArray 是 JavaScript 中 ArrayBuffer 的一个子类,它允许 JavaScript 操作二进制数据。与 ArrayBuffer 不同的是,TypedArray 允许我们在数据里面存放特定类型的数值,如整数、浮点数等等。

ES7 中共有 9 种 TypedArray 类型,分别为 Int8Array、Uint8Array、Uint8ClampedArray、Int16Array、Uint16Array、Int32Array、Uint32Array、Float32Array 和 Float64Array。这些类型都有对应的数据存储容量大小以及所能存放的数值范围。

使用 TypedArray 操作二进制数据

TypedArray 的 API 非常方便易用,我们可以通过以下几个步骤来使用 TypedArray 操作二进制数据。

1. 创建 ArrayBuffer

首先我们需要创建一个 ArrayBuffer,并分配好需要存储的数据大小。

上面代码创建了一个大小为 8 字节的 ArrayBuffer。

2. 获取 TypedArray

接下来我们需要获取一个指定类型的 TypedArray,用于操作我们创建的 ArrayBuffer。

上面代码将我们创建的 ArrayBuffer 转换成了 Int32Array,即存储 32 位整数的 TypedArray。

3. 操作二进制数据

最后我们就可以通过这个 TypedArray 来操作二进制数据了。

上面代码将两个整数分别存储在了 ArrayBuffer 的不同位置上,并且通过 TypedArray 获取到这些数值并相加了起来,最后将结果输出到控制台上。这样我们就成功地使用 TypedArray 操作了二进制数据。

TypedArray 示例代码

下面是一个完整的 TypedArray 示例,用于将数组转换为二进制数据,并从二进制数据中读取数据。

-- -------------------- ---- -------
----- ----- - ---- --- --- ----

-- -- -----------
----- ------ - --- ------------------------ - ---

-- -- ----------
----- ---- - --- -------------------

-- ----- -----------
--- ---- - - -- - - ------------- ---- -
  ------- - ---------
-

-- - ----------- -----
--- ---- - - -- - - ------------ ---- -
  ---------------------
-

上面代码中首先创建了一个数组,然后创建了一个大小等于数组长度乘以 4 的 ArrayBuffer,并且通过 Int32Array 获取到这个 ArrayBuffer,接着将数组中的数据写入 ArrayBuffer 中,并最后从 ArrayBuffer 中读取数据并输出到控制台上。

总结

ES7 中的 TypedArray 允许 JavaScript 更加方便地操作二进制数据,使得在某些场景下处理二进制数据更加高效。通过上面的示例,我们可以看到 TypedArray 的操作非常简单,只需要几行代码就可以完成。如果你需要在 JavaScript 中操作二进制数据,TypedArray 绝对是一个非常不错的选择。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/646195f7968c7c53b02f0bb8

纠错
反馈