【发布时间】:2020-05-14 10:06:05
【问题描述】:
我想知道如何在使用 FileReader Web API 读取文件之前检测文件的字符集。在我使用fileReader.readAsText(file, "UTF-8") 读取文件之前,我需要知道文件字符集是什么,此时我的“UTF-8”是未知的。
是否有任何 npm 包可以用于 Angular 或任何手动 Vanilla 方法来检测字符集,而无需查看签名或使用 BOM 代码(我 PC 上的文件以 ISO-8859-1 或 UTF- 8个签名相同,没有BOM代码)。
目前我尝试使用的包是“encoding”、“chardet”和“encoding-japanese”。这些不适用于 Angular 8,因为它们是为与 Node 一起使用而设计的。
背景故事: 我有一个 CSV,一旦它保存在 Excel 中,它就会以 ISO-8859-1 的编码保存,我不能指望我所有的客户都用特定的编码保存他们的文件(非技术头脑的人)。但是,其他客户端可能会使用 Notepad++,它将这些文件保存为 UTF-8。我需要一种方法来确定用于停止字符的编码,例如:“�”出现。
【问题讨论】:
标签: javascript angular npm character-encoding filereader