【问题标题】:How to declare an array of byte in Javascript如何在Javascript中声明一个字节数组
【发布时间】:2012-06-14 00:59:20
【问题描述】:

我正在做服务器端 javascript,我需要有一个特定大小的字节类型数组。 我试过了:

var buf = [1024]; (guives me Cannot convert org.mozilla.javascript.NativeArray@1e565bd to byte[] error)
var buf = byte[1024]; (wrong synthax)

什么是合成器?

【问题讨论】:

  • JavaScript 中没有“字节”类型。然而,在新的浏览器和 V8 中支持的新版本的 JavaScript 中存在“类型化数组”。你想要的是一个“Int8Array”或一个“Uint8Array”。
  • @Pointy 我只是声明:var buf = new Int8Array() 吗?
  • 类型化数组真的很奇怪;它们与普通的 JavaScript 数组有些不同。
  • @ephemient 我没有使用足够新的 JavaScript 版本来获得 khronos.org/registry/typedarray/specs/latest 中描述的任何内容

标签: javascript


【解决方案1】:

这取决于您使用的服务器端 JavaScript 包。不同的包实现不同风格的 JavaScript 和不同版本的 ECMAScript。

在 NodeJS v0.6.x 中,您可以访问类型化数组。创建其中一个数组相当简单。

// creating an array of bytes, with 1024 elements
var bytes = new Uint8Array(1024);

还有其他类型的数组可用,处理 16 位和 32 位整数。

// creating an array of 16 bit integers, with 128 elements
var array_16bit = new Uint16Array(128);

// creating an array of 32 bit integers, with 16 elements
var array_32bit = new Uint32Array(16);

使用类型化数组时,有几件事情需要牢记。类型化数组不继承标准数组原型,并且这些数组具有不可变的长度。

【讨论】:

    猜你喜欢
    • 2014-07-23
    • 2014-10-17
    • 2016-07-19
    • 2013-04-11
    • 1970-01-01
    • 2013-03-11
    • 1970-01-01
    • 2010-09-07
    相关资源
    最近更新 更多