gpt4 book ai didi

JavaScript Fetch 下载部分文本文件非英文字符问题

转载 作者:行者123 更新时间:2023-12-04 03:37:23 25 4
gpt4 key购买 nike

我正在尝试通过使用范围 header 属性获取来下载部分文本文件。但是我从获取中得到了损坏的字符。

这是我的文本文件的一部分:

Dalgalan sen de şafaklar gibi ey şanlı hilâl,
Olsun artık dökülen kanlarımın hepsi helâl;
Ebediyen sana yok, ırkıma yok izmihlâl:
Hakkıdır, hür yaşamış bayrağımın hürriyet;
Hakkıdır, Hakk’a tapan milletimin istiklâl!

我的 javascript 代码是:

fetch("https://website.com/images/text.txt", {
headers: {
'content-type': 'text/plain;charset=UTF-8',
'range': 'bytes=17-202'
},
})
.then(response => {
if (response.ok) {
return response.text();
}
})
.then(response => {
console.log(response);
});

结果是:

�afaklar gibi ey şanlı hilâl;
Olsun artık dökülen kanlarımın hepsi helâl.
Ebediyen sana yok, ırkıma yok izmihlâl:
Hakkıdır, hür yaşamış bayrağımın hürriyet;
Hakkıd

如您所见,第一个字符是未知符号、问号,但必须是ş

我认为非英语字符有 2 个字节,因此被拆分为。我该如何解决这个问题,谢谢:)

最佳答案

Content-Type header 不影响提取的响应,它用于告诉浏览器和 URL 您要发送的内容。所以它应该与 POST 请求一起使用。 (但在这里使用它并没有什么坏处)。

Accept header 与 Content-Type 完全相反,在发出 GET 请求时应始终使用 Accept header ,因此您始终知道什么期望的数据类型。

虽然它们的用途不同,但它们的值(value)是相同的。因此,您应该将 Accept header 与您选择的其他 headers 值一起设置为 text/plain;charset=UTF-8 值。像这样

fetch("https://website.com/images/text.txt").then(response => response.text()).then(...)

关于JavaScript Fetch 下载部分文本文件非英文字符问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66658100/

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