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
'IT Share you' 카테고리의 다른 글
Herb Sutter의 CppCon 2014 talk (Back to Basics : Modern C ++ Style)에서 값을 취하는 setter 멤버 함수가 권장되지 않는 이유는 무엇입니까? (0) | 2020.11.28 |
---|---|
Windows에서 Python의 "easy_install"을 사용하는 방법… 쉽지 않습니다. (0) | 2020.11.28 |
두 파일을 편집 한 다음 GitHub 웹 기반 편집기를 사용하여 하나의 커밋을 만들 수 있습니까? (0) | 2020.11.28 |
내부 엔터프라이즈 개발에 Nuget을 어떻게 사용해야합니까? (0) | 2020.11.28 |
ListView 항목 스크롤 애니메이션 ( "UIKit Dynamics"와 유사) (0) | 2020.11.28 |