Javascript将图片字节转换为十六进制
Posted
技术标签:
【中文标题】Javascript将图片字节转换为十六进制【英文标题】:Javascript convert picture bytes to hex 【发布时间】:2012-10-11 08:58:35 【问题描述】:我尝试通过画布将本地图像文件转换为字符串
imgData = canvas.toDataURL("image/jpeg");
但它只返回一个 Base64 编码的字符串。
有没有办法将图像二进制转换为十六进制字符串之类的
0x310000700008000400efbeee3a851a54...
然而就像 unpack('H*')
在 perl/ruby 中所做的那样。
【问题讨论】:
b64 字符串有什么问题?如果你解码它会发生什么?那不会给你二进制文件吗? 我想他可能的意思是他想要像pack
/unpack
这样的函数在perl之类的。
【参考方案1】:
http://phpjs.org/functions/base64_decode/ ... 一个类似于 base64_decode
的 javascript 函数 ... http://hpyer.cn/codes/jquery-plugin-base64-encode-and-decode 有一个 jQuery 插件
【讨论】:
【参考方案2】:这是来自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"
OR(在 node.js 中)
fs = require('fs');
imgBuffer = fs.readFileSync('public/images/my_image_location.gif');
imgHex = imgBuffer.toString('hex');
console.log(imgHex)
【讨论】:
以上是关于Javascript将图片字节转换为十六进制的主要内容,如果未能解决你的问题,请参考以下文章
如何通过SQL函数将7个字节的十六进制数据转换为十进制,找了一个函数转换四个字节的可以,7个就不行了