我正在使用此原始问题的代码段:Read bytes from a binary file with JavaScript, without jQuery
但是,由于某些原因,似乎加载了一整套不同的字节!我怀疑这与字符串转换有关。
以下是我要下载的二进制文件的副本:http://steeman.dk/html5/coco/colorbasic13.rom
对于我的本地IIS 7.5服务器,我已将.rom MIME类型添加为“application / octet-stream”(我还尝试使用'text / plain; charset = x-user-defined',结果相同)。
我期待是从这开始的字节序列:
a1 cb a2 82 a7 7c a7 0b a7 f4 a9 de a7 d8 10 ce (etc.)
然而,我 的内容如下:
fd e2 fd fd 7c fd 0b fd fd fd a7 fd 10 fd 03 c6 37 fd fd 23 (etc.)
除了大量的'fd'之外,我并没有真正看到明显的模式。是什么赋予了?
BTW使用JQuery有更简单的方法吗?答案 0 :(得分:0)
看起来有一种新方法,使用Uint8Array并将响应类型设置为“arraybuffer”:
function loadRom(file, callback)
{
var xhr = new XMLHttpRequest();
xhr.open('GET', file, true);
xhr.responseType = 'arraybuffer';
xhr.onload = function (e)
{
if (this.status == 200)
{
var bytes = new Uint8Array(this.response);
callback(bytes);
}
}
xhr.send();
}
这对我有用!