我一直在try 几种不同的解决方案来编码和解码一个Base64脚本Float32Array
,这样我就可以在JSON文档中将其发送到我的Web API.但每次我将字符串解码回一个浮点数组时,我得到的是一个比开始更长的array.我try 了以下方法
- 这一tweet-nacl-util方法首先提到了in this question
- 数组缓冲区方法mentioned here:
- 即使是this approach个我也无意中发现
它们都是"工作"的,因为它们将长度为76800的MYFloat32Array
编码为Base64字符串.但每当我对该字符串进行解码时,我都会得到一个更长的array.即使我使用自己的"解码"功能.
例如,这是我测试第一种方法,但我看到所有方法都是这样的.(‘pcdRef.Current’是我的Float32Array
).这个代码...
var base64String = encode(new Uint8Array(pcdRef.current.buffer));
var prev = decode(base64String)
var prevArray = new Float32Array(prev.buffer);
console.log("original length = " + pcdRef.current.length + ", rehydrated length = " + prevArray.length);
...给我提供了这个控制台输出
original length = 76800, rehydrated length = 77284
对于我的实际Web API接收的数据也是如此.
谁能告诉我我做错了什么?