将乱码转换为ISO-8859-1

时间:2018-03-03 11:49:43

标签: javascript node.js request-promise

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

ALGS

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

提前致谢。

1 个答案:

答案 0 :(得分:-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);
  });
});