如何使用JavaScript将图像转换为二进制格式
如何使用javascript将图像转换为二进制格式
在网上找到一个将base64编码转换为二进制的函数,代码如下:
function binEncode(data) { var binArray = [] var datEncode = ""; for (i=0; i < data.length; i++) { binArray.push(data[i].charCodeAt(0).toString(2)); } for (j=0; j < binArray.length; j++) { var pad = padding_left(binArray[j], '0', 8); datEncode += pad + ' '; } function padding_left(s, c, n) { if (! s || ! c || s.length >= n) { return s; } var max = (n - s.length)/c.length; for (var i = 0; i < max; i++) { s = c + s; } return s; } console.log(binArray); }
要使用该函数,只需将base64字符串作为参数调用binEncode
函数。
要将图像转换为base64编码字符串,您可以执行以下操作:
var myCanvas = $('<canvas/>'); var myImageSrc = myCanvas.attr('src', 'http://www.google.com/imgres?imgurl=http://www.gettyimages.co.uk/gi-resources/images/Homepage/Category-Creative/UK/UK_Creative_462809583.jpg&imgrefurl=http://www.gettyimages.co.uk/&h=280&w=562&tbnid=Gd_Suvvlpe2UbM:&docid=tUvJ118IkhewgM&ei=kZjVVcXQO8np-QGkjoSYAQ&tbm=isch&ved=0CDIQMygAMABqFQoTCIXdpbqnt8cCFcl0PgodJAcBEw'); myCanvas.attr('src', myImageSrc); var dataInBase64 = $(myCanvas)[0].toDataURL('image/png').replace(/data\:image\/png;base64,/, '');
要将base64转换为二进制:
binEncode(dataInBase64);
感谢Moishe Lipsker,你让我的一天美好了。