3

我试图通过画布将本地图像文件转换为字符串

imgData = canvas.toDataURL("image/jpeg");

但它只返回一个 Base64 编码的字符串。

有没有办法将图像二进制转换为十六进制字符串,如

0x310000700008000400efbeee3a851a54...

然而就像unpack('H*')perl/ruby 中的函数一样。

4

2 回答 2

0

这是来自https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding

在 JavaScript 中有两个函数分别用于解码和编码 base64 字符串:

atob()

btoa()

var encodedData = window.btoa("Hello, world"); // encode a string

var decodedData = window.atob(encodedData); // decode the string

encodedData = window.btoa("011110000100101"); //RESULT is "MDExMTEwMDAwMTAwMTAx"

或(在 node.js 中)

fs = require('fs');
imgBuffer = fs.readFileSync('public/images/my_image_location.gif');
imgHex = imgBuffer.toString('hex');
console.log(imgHex)
于 2014-10-30T18:17:03.940 回答
0

http://phpjs.org/functions/base64_decode/ ...一个JavaScript函数模拟base64_decode...有一个jQuery插件http://hpyer.cn/codes/jquery-plugin-base64-encode-and-解码

于 2012-10-21T09:25:39.367 回答