Javascript CSV文件的Blob字符集

Javascript CSV文件的Blob字符集,javascript,character-encoding,blob,Javascript,Character Encoding,Blob,我想使用blob创建一个CSV文件。 该文件应该用ANSI编码,但不起作用 var blob = new Blob(["\ufeff", csvFile], { type: 'text/csv;charset=windows-1252;' }); 文件始终使用UTF-8编码创建。将一个(或一个JavaScript字符串)传递给Blob数据中的遗嘱 type选项仅由资源获取程序使用,它用于模拟HTTP请求的内容类型头。 因此,例如,如果您通过Blob://URI获取或提供该Blob,将使用该类型

我想使用blob创建一个CSV文件。 该文件应该用ANSI编码,但不起作用

var blob = new Blob(["\ufeff", csvFile], { type: 'text/csv;charset=windows-1252;' });
文件始终使用UTF-8编码创建。

将一个(或一个JavaScript字符串)传递给Blob数据中的遗嘱

type
选项仅由资源获取程序使用,它用于模拟HTTP请求的
内容类型
头。
因此,例如,如果您通过
Blob://
URI获取或提供该Blob,将使用该
类型的值,类似地,如果您调用FileReader的
readAsText(Blob)
方法而不使用编码第二个参数,则可能会使用
字符集=
信息

但此
类型
选项在Blob数据的所有内容上都不会更改。

(异步()=>{
const data=“é”;
const no_type=新Blob([数据]);
const csv_windows1252=new Blob([data],{type:“text/csv;charset=Windows-1252”});
const image_png=新Blob([data],{type:“image/png”});
//读取为ArrayBuffer以查看确切的二进制内容
log(“无类型:”,等待hexDump(无类型));//C3A9
console.log(“csv_windows1252:”,等待hexDump(csv_windows1252));//C3A9
log(“image_png:,wait hexDump(image_png));//C3A9
})();
异步函数hextump(blob){
const buf=wait blob.arrayBuffer();
常量视图=新的UINT8阵列(buf);
常量arr=[…视图];
返回arr.map((val)=>val.toString(16))
.join(“”.toUpperCase();

}
你回答了这个问题吗?@DT你能解释一下我目前的回答在你的情况下有什么问题吗?你的回答无法创建文件编码为ANSI。我必须下载一个包含任何文本的文件,如果在记事本中打开,它必须显示编码ANSI。@DT你的意思是什么?当然,它确实创建了一个用ANSI编码的文件。你文件的内容是什么?如果您的文件只包含ASCII字符,那么不管它是作为ASCII、ANSI还是UTF-8读取的,所有ASCII字符都通过这三种编码以相同的方式表示。记事本说的是它认为文件是如何编码的,而不一定是如何编码的。