【发布时间】:2020-02-05 19:36:53
【问题描述】:
我似乎不理解Uint32Array。根据我读到的关于Uint8Array 的内容,我可以在数组中输入一个数字(Uint8Array([16]) 或Uint8Array([96,56])),结果就是这样。但是,当我对Uint32Array([21640]) 这样的更大数字尝试相同的操作时,它似乎会截断它。其中 21640 应该等于十六进制的 5488,我只得到 88。这实际上是如何工作的?
编辑:阐述
我还尝试将多个 ArrayBuffer 连接在一起。如果我没记错readAsArrayBuffer 产生一个Uint8Array,我正在尝试使用https://gist.github.com/72lions/4528834 附加一些32 位数字
Uint8Array 上有很多信息和示例,Uint32Array 上的信息和示例很少,这让我觉得这 32 个中的一个会存储一个值,就好像它是 8 个中的 4 个一样。
【问题讨论】:
-
“看起来”?它是,因为你不能将 32 位放入 8 中。你需要将它分解。
-
@DaveNewton 关于如何将其分解为
Uint8Array(4)使其变为88 54 00 00的任何建议? -
它工作正常。您的十六进制打印例程仅处理字节一定有问题。如果不显示任何代码,就无法确定这是问题所在。
标签: javascript uint8array