这是我的问题:
我已尝试过此代码:
window.addEvent(
"domready",
function()
{
var dataRequest = new Request(
{
url: "data.dat",
onSuccess: function(response)
{
var timestart = new Date();
var tempArray = response.match(/.{2}/g);
for(var i=0; i<tempArray.length; ++i) {
graphDataArray[i] = [i, (tempArray[i].charCodeAt(0)<<8) + tempArray[i].charCodeAt(1) ];
}
new Dygraph(
document.getElementById("graphdiv"),
graphDataArray,
{}
);
document.getElementById("timemsg").innerHTML = "Generated in " + (new Date() - timestart).toString() + " ms";
}
}
).send();
);
它不起作用,因为charCodeAt()与二进制数据无关,它解释ASCII。我该怎么办?
答案 0 :(得分:0)
我找到了解决方案。 以下是如何将二进制数据传输到浏览器:solution
然后,我简单地迭代槽数组并使用二进制移位运算符创建16位int并将其添加到格式化以适合图形库需求:
for (var i = 0; i < byteArray.byteLength; i+=2) {
graphDataArray[counter] = [counter, (byteArray[i]<<8) + byteArray[i+1] ];
counter++;
}