如何在Node中使用以ASCII扩展名ISO-8859-1编码的文件进行读取?

问题描述

在使用fs读取文件之前,我使用chardet来检测文件的编码。直到今天,我的应用程序已读取的所有文件均为UTF-8UTF-16LE。这些很容易从chardet映射到Nodes BufferEncoding。我已经在地图上方的代码中使用了chardetToFsEncodings

const chartdetToFsEncodings = new Map<string,BufferEncoding>([
  ["UTF-8","utf8"],["UTF-16LE","utf16le"],]);

const plausableEncodings = analyse(buffer).map((match) => match.name);

const supportedEncoding = plausableEncodings.find((name) => chartdetToFsEncodings.get(name)) as BufferEncoding;
if (supportedEncoding) {
  resolve({
    path,data: buffer.toString(supportedEncoding),});
} else {
  reject(new Error("File encoding not recognized"));
}

但是当chardet遇到在BufferEncodings中没有明显模拟的编码时,什么是好的方法?就像今天一样,我围住了iso-8859-2

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)