JavaScript使用ANSI编码将二进制数据保存到文件

5
我正在尝试使用FileSaver.js将二进制字符串保存到文件中。我指定字符集为ANSI,但文件具有UTF-8编码。
var blob = new Blob([bin], {type: "octet/stream;charset=ANSI"});
saveAs(blob, "binfile.dat");

有没有一种方法可以将文件保存为ANSI格式?
1个回答

1

你确定bin是ANSI数据吗?我曾遇到同样的问题,想从服务器下载zip文件。结果发现我必须在请求头中指定我想要的响应类型。以下是我的Angular代码示例,用于下载zip文件,但不管你如何发起http请求,都是相同的概念:

$http.get(url, { responseType: 'arraybuffer' })

然后您可以创建Blob并保存它:
var blob = new Blob([bin], { type: "application/zip", responseType: 'arraybuffer' });
saveAs(blob, "binfile.zip");

谢谢!我遇到了编码问题。下载的文件总是以UTF-8编码,导致出现问题。这解决了我的问题。 - MrFabio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接