arraybuffer에 진 얻는 방법에 대해 설명합니다. 하나의 필드는 바이너리입니다. Javascript를 사용하여 이진 필드를 처리하고 싶습니다. 나는 주변에서 주변을 돌아 다니며 서로 다른 접근법을 시도했지만 만족스럽지 못했고 대부분 도로 블록에 닿았습니다.ArrayBuffer 광기 -.이</p> <p>에 내 머리를하고 내가 MySQL 데이터베이스에서 출력을 반환하는 JQuery와 아약스 포스트가
나는 base64로 인코딩 된 데이터를 전달한 다음 Javascript로 디코딩 할 수 있습니다.
데이터는 패킷이므로 DataView를 사용하여 데이터를 디코딩하려고합니다. 데이터를 패킷 (예 : C 구조)으로 처리하기위한 모든 Get ... 호출을 사용합니다.
필자는 Blob과 Typed Array를 시도해 보았지만, 이제까지 나는 그것이 올바른 것만은 아닌 것처럼 보인다.
var ab = new ArrayBuffer (atob(my_base64_encoded_packet_data)
var dv = new DataView (ab);
간단한 : 나는 무엇
후이 같은 것입니다! 아니 내가 가까이 관리해야하는 유일한 방법이 (거의) 같은 파일 리더를 사용하는 것입니다 :
버피는 BLOB이며 newBuf가 ArrayBuffer입니다fileReader.onload = function () {
var newBuf = this.result;
callback(newBuf);
return;
};
fileReader.readAsArrayBuffer(buf);
.
내가 원하는 것은 수행하지만 노동 집약적 인 것처럼 보이는 또 다른 접근 방식이 있습니다.
function str2ab(str) {
var buf = new ArrayBuffer(str.length);
var bufView = new Uint8Array(buf);
for (var i=0, var strLen=str.length; i<strLen; i++) {
bufView[i] = str.charCodeAt(i);
}
return buf;
}
도움말. 감사합니다
파일 리더 방법 잘 작동한다, 문제가 무엇 방법 페치? –