4

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

阿尔格斯

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

提前致谢。

4

1 回答 1

1

如果您通过 请求数据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);
  });
});

于 2019-06-25T14:14:14.783 回答