ES6學習筆記 二進位制陣列(應用)

2021-09-19 13:01:02 字數 1750 閱讀 5760

說實話自從做了前端之後,還沒怎麼用過二進位制陣列,看了es6入門之後才知道原來二進位制陣列的用處還不少。

1、ajax

xmlhttprequest第一版responsetype屬性預設為text

xmlhttprequest第二版xhr2允許伺服器返回二進位制資料,這時分成兩種情況:

首先看下面的例子:

var canvas = document.getelementbyid('mycanvas');

var ctx = canvas.getcontext('2d');

var imagedata = ctx.getimagedata(0, 0, canvas.width, canvas.height);

var uint8clampedarray = imagedata.data; //canvas元素輸出的二進位制畫素資料,也是typedarray陣列

需要注意的是:uint8clampedarray這個型別是針對canvas元素的專有型別,它是專門針對顏色,取值只能是0~255。

3、websocket

websocket可以通過arraybuffer,傳送或接收二進位制資料。

var socket = new websocket('ws:');

socket.binarytype = 'arraybuffer';

// 等待直到socket開啟

socket.addeventlistener('open', function (event) );

// 接受二進位制資料

socket.addeventlistener('message', function (event) );

4、fetch api

fetch api取回的資料,就是arraybuffer物件。

fetch(url)

.then(function(request))

.then(function(arraybuffer));

5、file api

如果知道乙個檔案的二進位制資料型別,也可以將這個檔案讀取為arraybuffer物件。

var fileinput = document.getelementbyid('fileinput');

var file = fileinput.files[0];

var reader = new filereader();

reader.readasarraybuffer(file);

reader.onload = function () ;

初學ES6筆記十 二進位制陣列

二進位制陣列由3類物件組成 1.arraybuffer物件 代表記憶體中的一段二進位制資料,可以通過 檢視 進行操作。檢視 部署了陣列介面,這意味著,可以用陣列的方法操作記憶體。2.typedarray檢視 共包括9種型別的檢視,比如uint8array 無符號8位整數 陣列檢視 int16arra...

6 二進位制求和

給定兩個二進位制字串,返回他們的和 用二進位制表示 輸入為非空字串且只包含數字 1 和 0。示例 1 輸入 a 11 b 1 輸出 100 示例 2 輸入 a 1010 b 1011 輸出 10101 解題思路 二進位制求和,滿二進一 include include using namespace ...

二進位制列舉 學習筆記

紫書215頁暴力求解法裡面有一道題目 cutting chains uva 818 要用到二進位制列舉,所以學了一下 總結來說就是對n個事件 n 32 每個事件都有兩種情況,所以可以用0和1來表示事件的發生和不發生,每個事件的序號又可以和二進位制位相對應,所以全部n事件的狀態,可以用1到2 n的數字...