2
자바 스크립트를 사용하여 이진 데이터를 조작하고 싶습니다. ArrayBuffer를 사용하여이 작업을 수행 할 수 있지만 이전 브라우저에서는 ArrayBuffer가 지원되지 않습니다. 어떻게 수행 하시겠습니까?자바 스크립트에서 브라우저 간 이진 데이터 처리
자바 스크립트를 사용하여 이진 데이터를 조작하고 싶습니다. ArrayBuffer를 사용하여이 작업을 수행 할 수 있지만 이전 브라우저에서는 ArrayBuffer가 지원되지 않습니다. 어떻게 수행 하시겠습니까?자바 스크립트에서 브라우저 간 이진 데이터 처리
이진 데이터를 Array에 저장하고 ArrayBuffers 및 UintXArrays와 같은 방식으로 액세스 할 수있는 함수를 작성하는 것이 하나의 옵션입니다. 이것은 또한 DataView의 shim 일 수 있습니다.
이것은 너무 어려운 작업이 아니며 여전히 합리적으로 수행됩니다.
예 :
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에 대한 광범위한 스레드).