簡體   English   中英

讀取 Web 文件系統訪問 API 中的 ANSI 文件

[英]Read ANSI files in Web file-system-access API

我正在嘗試使用文件系統訪問 API 獲取文件,並且使用以下代碼效果很好:

function Process_Files(files) {
    [].map.call(files, async function (file, i) {
        if (isDataFile(file.name)) {
            let fileText = await file.text();
            let filePath = await file.webkitRelativePath;
            ProcessFileContents(await fileText,await filePath);
        }
    })
}
function DirectoryChose(event) {

    let files;
    event.stopPropagation();
    event.preventDefault();


    if (event.type === "change") {
        files = event.target.files;
    }

    if (files) {
        Process_Files(files)
    }
}

dropArea.addEventListener("change", DirectoryChose);

問題是當我們有一個 ANSI 編碼的文件時,像 Ö、Ü 和 Ä 這樣的德語字符會變成 �,而它與 UTF-8 編碼的文件完美搭配。

我無論如何都找不到使用 ANSI 代碼中的file.text()讀取文件

感謝幫助

您需要使用正確編碼的FileReader() API。 有關詳細信息,請參閱MDN 文檔 例如,您可以讀取如下數據:

// fileOrBlob is a File or a Blob :-) 
const fileReader = new FileReader();
fileReader.readAsText(fileOrBlob, 'windows-1252');

唯一需要注意的是,您需要事先知道編碼。 如果您不指定編碼,則假定為 UTF-8。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM