IT Share you

javascript ArrayBuffer, 용도는 무엇입니까?

shareyou 2020. 11. 28. 13:15
반응형

javascript ArrayBuffer, 용도는 무엇입니까?


늦었을 수도 있고 술 때문일 수도 있지만 ArrayBuffer에 대한 문서를 읽었 으며 실제로 유용 할 단일 항목을 생각할 수 없습니다.

누군가 나를 깨달을 수 있습니까?

이미지를 포함하지 않는 사람이 생각할 수있는 용도가 있습니까?


기본적으로 ArrayBuffer는 바이너리 데이터를 유지하는 데 사용됩니다. 예를 들어 이미지의 이진 데이터 일 수 있습니다.

다른 언어에서는 버퍼가 매우 유용하다는 것이 입증되었습니다. 예, 물론 다른 데이터 유형보다 이해 / 사용하기가 거의 어렵습니다.

ArrayBuffer는 jpg 이미지 (RGB 바이트)의 데이터를 가져오고 알파 바이트 (예 : RGBA)를 추가하여 png를 생성하는 데 사용할 수 있습니다.

Mozilla 사이트는 여기 에 ArrayBuffer를 약간 사용했습니다 .

복잡한 데이터 구조 작업

단일 버퍼를 서로 다른 유형의 여러보기와 결합하여 서로 다른 오프셋에서 시작하여 여러 데이터 유형을 포함하는 데이터 개체와 상호 작용할 수 있습니다. 이를 통해 예를 들어 js-ctypes 를 사용하는 동안 사용해야하는 WebGL , 데이터 파일 또는 C 구조의 복잡한 데이터 구조와 상호 작용할 수 있습니다 .

다음 C 구조를 고려하십시오.

struct someStruct {  
  unsigned long id;  
  char username[16];  
  float amountDue;  
};  

다음과 같은 형식의 데이터를 포함하는 버퍼에 액세스 할 수 있습니다.

var buffer = new ArrayBuffer(24);  

// ... read the data into the buffer ...  

var idView = new Uint32Array(buffer, 0, 1);  
var usernameView = new Uint8Array(buffer, 4, 16);  
var amountDueView = new Float32Array(buffer, 20, 1);  

그런 다음 예를 들어를 사용하여 미결제 금액에 액세스 할 수 있습니다 amountDueView[0].

참고 : C 구조 데이터 구조 정렬 은 플랫폼에 따라 다릅니다. 이러한 패딩 차이에 대한 예방 조치 및 고려 사항을 수행하십시오.


이미지 외에도 UDP와 같은 프로토콜에 사용되는 저수준 네트워크 데이터 패킷을 정확하게 구성하고 파괴하는 데 유용합니다.

참고 URL : https://stackoverflow.com/questions/11554006/javascript-arraybuffer-whats-it-for

반응형