回答

2

您拥有的一个选择是将二进制数据存储在数组中并编写函数以与ArrayBuffers和UintXArrays相同的方式进行访问。这也可能是对DataView的一种补偿。

这不应该是一个太困难的任务,仍然合理地执行。

一个例子:

function getInt8(byteOffset) 
{ 
    return (byteArray[byteOffset] << 24) >> 24; // moves sign bit to bit 32 
} 

function getUint8(byteOffset) 
{ 
    return byteArray[byteOffset]; 
} 

function getUint16(byteOffset) 
{ 
    return byteArray[byteOffset] | byteArray[byteOffset + 1] << 8; 
} 

function setUint8(byteOffset, value) 
{ 
    byteArray[byteOffset] = value & 0xff; // make sure to mask values 
} 

// etc... 

这需要一些位魔法,但你应该能够与一些谷歌的数字出来。

还有很多关于IE如何处理二进制数据的内容(例如this关于XMLHttpRequests的广泛线索)。