文件API - HEX转换 - Javascript

时间:2014-04-17 22:39:59

标签: javascript file api hex

我试图在File API的帮助下读取本地文本文件,并使用与" bin2hex()"相似的功能将其转换为HEX文件。 (使用CharCodeAt()函数),然后最终处理HEX数字以获得我的结果。所有这一切都在Javascript。

要将我的文件转换为HEX数组,我通过for循环文件扫描文件的每个字符,然后使用bin2hex()函数获取HEX值。我希望0x00和0xFF之间的结果对应于我想要转换的任何字符。但似乎有时我没有明显的原因获得0xfffd或0x00。您可以通过charcodeat()函数处理哪些字符或使用File API读取是否存在限制?或者是否有更简单的方法(PHP,Ajax)?

非常感谢,

杰罗姆

1 个答案:

答案 0 :(得分:3)

直接进入 Bytes 而不是通过 String

var file = new Blob(['hello world']); // your file

var fr = new FileReader();
fr.addEventListener('load', function () {
    var u = new Uint8Array(this.result),
        a = new Array(u.length),
        i = u.length;
    while (i--) // map to hex
        a[i] = (u[i] < 16 ? '0' : '') + u[i].toString(16);
    u = null; // free memory
    console.log(a); // work with this
});
fr.readAsArrayBuffer(file);