我试图在File API的帮助下读取本地文本文件,并使用与" bin2hex()"相似的功能将其转换为HEX文件。 (使用CharCodeAt()函数),然后最终处理HEX数字以获得我的结果。所有这一切都在Javascript。
要将我的文件转换为HEX数组,我通过for循环文件扫描文件的每个字符,然后使用bin2hex()函数获取HEX值。我希望0x00和0xFF之间的结果对应于我想要转换的任何字符。但似乎有时我没有明显的原因获得0xfffd或0x00。您可以通过charcodeat()函数处理哪些字符或使用File API读取是否存在限制?或者是否有更简单的方法(PHP,Ajax)?
非常感谢,
杰罗姆
答案 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);