【发布时间】:2018-11-27 17:12:06
【问题描述】:
我正在尝试使用以下函数将字符串下载到文件中:
function handleDownload(){
var settings = "";
for (var i in archivo){
settings += String.fromCharCode(parseInt(archivo[i], 16));
}
var blob=new Blob([settings], {type: "application/octet-stream"});
var link=document.createElement('a');
link.href=window.URL.createObjectURL(blob);
link.download="config.bin";
link.click();
}
它工作正常,但有时它会在中间添加值“0xC2”。
例如,使用以下字节数组作为输入00 a0 42 00
文件返回00 c2 a0 42 00
我该如何解决这个问题?我检查了整个文件,它在大于 127 的字节之前总是一个 0xC2。
谢谢!
【问题讨论】:
-
(archivo[i]<16 ? "0" : "" ) + String.fromCharCode(parseInt(archivo[i], 16)) -
什么?正确加载的“设置”字符串。我在控制台中打印出来检查,没有 0xC2 字符。问题出在下载部分。正如我所说,当它大于127的字节时,它之前添加了一个0xC2。
标签: javascript file download hex byte