将乱码字符转换为 ISO-8859-1



我正在尝试从葡萄牙语站点获取一些根据元标记以 ISO-8859-1 编码的文本。我正在使用 NodeJS 和请求-承诺包。例如,我得到的是

阿尔格·

我相信我需要在NodeJS/Javascript中将其转换为ISO-8859-1。我尝试过解码URIComponent,encodeURIComponent,unescape和escape。这些都不起作用。其中一些甚至使字符串变得更糟。有人知道如何解决这个问题吗?

提前谢谢。

如果您通过 fetch 请求数据,则可以尝试将数据转换为 arrayBuffer:

let result = [];
fetch('isoEncodedApi/data.json').then(response => {
  response.arrayBuffer().then(arrayBuffer => {
    const textDecoder = new TextDecoder('iso-8859-1');
    const decodedResult = textDecoder.decode(arrayBuffer);
    result = JSON.parse(decodedResult);
  });
});

最新更新