說實話自從做了前端之後,還沒怎麼用過二進位制陣列,看了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的數字...