gpt4 book ai didi

javascript - 使用 UTF-16LE 编码的 Blob URL

转载 作者:行者123 更新时间:2023-11-29 21:54:17 25 4
gpt4 key购买 nike

我有这个字符串 %22%00%41%00%22%00%09%00%22%00%42%00%22%00 这是 UTF-16LE 等效的“A”\t“B”。 (\t 是制表符。)

我正在尝试构建一个 Blob,然后为它构建一个 URL,但输出未解码为正确的实体。

var blob=new Blob([stringHere],{type:'text/csv;charset=UTF-16LE;'});
var blobUrl=URL.createObjectURL(blob);

有没有办法告诉 Blob 字符串编码,以便它在 Excel 中打开时看起来正确(在这种特殊情况下)?

我需要 UTF-16LE,否则使用 UTF-8 将导致 Excel 无法正确解析 .csv 文件。

谢谢。

最佳答案

看起来你需要在文件中使用 utf-16 的 le bom,而在 js 中你不能用字符串来做到这一点,所以你必须使用字节数组。请参见下面的示例

var stringHere = '%ff%fe%22%00%41%00%22%00%09%00%22%00%42%00%22%00';
var byteArray = [];
stringHere.replace(/([0-9a-f]{2})/gi, function(d){
byteArray.push(parseInt(d, 16));
});
var blob=new Blob([new Uint8Array(byteArray)],{type:'text/csv;charset=UTF-16LE;'});
var blobUrl=URL.createObjectURL(blob);

关于javascript - 使用 UTF-16LE 编码的 Blob URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27318715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com