1

在 JS 中表示单个字符,我们使用"or ',即使用长度为 1 的字符串。

但是由于JavaScript 使用 UTF-16 编码,所以字符也是 16 位的。

这样说是否安全,2 个字节是最小的可表示大小,这在 JS 中是可能的。

或者会有一些数据结构,它可以代表我缺少的单个字节(8 位)。

编辑:

我知道使用字长(通常为 4 字节)的数据类型总是最有效的,但我只是想知道 JS 的创建者是否愿意在其中包含一些内容。

Actionscript 3 也源自 ECMAScript,它包含可变大小的数据类型,即 AS3 中的整数是 1 到 4 个字节的存储空间。

注意:我并不是真的在寻找一种将多个字节放入更大数据类型的技巧。

猜猜答案很可能是否定的。

4

3 回答 3

1

好吧,不是在 ECMAScript 中,而是在 node.js 中Buffer,在浏览器中你有Uint8Array

var b = new UInt8Array(16); //Holds 16 bytes
于 2013-03-29T11:54:05.807 回答
0

从技术上讲,您可以拥有一个由 8 个布尔值组成的数组- 但存储数组本身可能会有很大的开销。

于 2013-03-29T04:47:47.090 回答
0

从 c 风格的联合中获取页面,当然,您可以创建自己的数据结构来做到这一点。使用大整数作为位图。

var memory = 0;

function setbyte(addr, value) {
    memory = memory | (value << addr);
}

function getbyte(addr) {
    return 0xFF & (memory>>addr)
}
于 2013-03-29T04:53:56.543 回答