java中怎么实现js中写java代码的Uint8Array

Uint8Array再新建的时候就固定大小了,一个模块需要一直存入流,另一个模块需要一直读取流。这样的模型发现没有,就自己写了一个,如下:

还有个方法就是模仿go 字符串的拼接写法。先给一个缓存空间如1024,满了以后再增加1.5倍空间。

}

类型化数组与JavaScript中的其他数字的工作方式完全不同。关键是要独立考虑缓冲区和视图 - 也就是说,Float32Array和Uint8Array只是缓冲区的视图(缓冲区只是一个固定大小的连续内存块,这就是为什么类型化的数组如此之快)。

在您调用的示例中,您new Float32Array传递了一个带有单个数字的数组来初始化它,但是您没有将它传递给缓冲区,这会导致它为您创建一个适当长度的缓冲区(4个字节)。当你打电话给new Uint8Array你时,它传递了一个缓冲区,这不会导致它只复制缓冲区,但实际上它直接使用它。

下面的示例更明确但与您的示例等效,并使上述断言更加明显:

如您所见,上面没有必要“转换”,因为两个视图共享相同的缓冲区,通过一个视图的任何更改都可以立即在另一个视图中使用。

这实际上是一种实验和理解浮点格式的好方法。您可能希望了解IEEE 754规范如何工作以理解两者之间的关系。还可以使用ui8[0].toString(2)获取原始二进制文件并使用ui8[0] = parseInt('', 2)set raw binary作为示例。

请注意,您无法通过f32视图设置原始二进制文件,因为它将以数字方式解释您的数字并将其分解为有效数和指数。

}

我要回帖

更多关于 js中写java代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信