我正在研究接收原始字节并从中创建图形的JavaScript代码。寻找管理此类原始(主要是uint32)数据的最佳方法。
我的服务器(低端微控制器)发送了2MB的原始数据块(仅来自结构名称{uint32_t NAME,uint32_t NAME2}的memcpy)。我想要连接许多这些块。能够将简洁的块保存在本地计算机上,而且还具有通过代码访问数据的简便方法。
目前,我只是在接收到数据后解析(使用DataView和getUint32),添加到数组中(使用dataseries.push({…});)。为了节省,我只是使用JSON.stringify(data),这不是最好的方法,因为每个变量还包含变量名(例如{„ NAME“:1,” NAME2“:0})。使用例如访问。数据系列[x]。NAME。
我该如何做得更好?
最佳答案
我会避免使用JSON,而只使用逗号分隔的字符串:
// returns String
function getArrayBufferString(arrayBuffer) {
return new Uint8Array(arrayBuffer).toString()
}
// returns ArrayBuffer
function parseArrayBufferString(string) {
return new Uint8Array(string.split(',')).buffer
}