在網頁上要讀取檔案中的文字非常的簡單,方法如下:
如果是使用 UTF-8 可以很好的讀取檔案,但是如果檔案是 big 5 的編碼格式則會出現亂碼,要使用 big 5 來讀取檔案取得文字也很簡單,只要在 readAsText 的第二個參數 encoding 指定 big5 即可:
筆者在測試過程中有看到可以使用 jschardet 套件來「猜測」是使用哪種編碼格式,不過筆者在測試時不管是 utf8 還是 big5 都會顯示為 ascii,並且內容也無法正常讀取,對於內容較少的檔案很難成功判斷。
筆者也沒有找到可以只使用 CDN 就產生 big5 編碼格式檔案的方法,都需要有 node.js ,需要在後端才能成功處理。
<input type="file" id="fileInput"/>
<script>
var input = document.getElementById('fileInput');
input.addEventListener('change', function (e) {
var file = e.target.files[0];
if (!file) return;
var reader = new FileReader();
reader.onload = function () {
var contents = reader.result;
console.log(contents);
};
reader.readAsText(file);
});
</script>
如果是使用 UTF-8 可以很好的讀取檔案,但是如果檔案是 big 5 的編碼格式則會出現亂碼,要使用 big 5 來讀取檔案取得文字也很簡單,只要在 readAsText 的第二個參數 encoding 指定 big5 即可:
<input type="file" id="fileInput"/>
<script>
var input = document.getElementById('fileInput');
input.addEventListener('change', function (e) {
var file = e.target.files[0];
if (!file) return;
var reader = new FileReader();
reader.onload = function () {
var contents = reader.result;
console.log(contents);
};
reader.readAsText(file, 'big5');
});
</script>
筆者在測試過程中有看到可以使用 jschardet 套件來「猜測」是使用哪種編碼格式,不過筆者在測試時不管是 utf8 還是 big5 都會顯示為 ascii,並且內容也無法正常讀取,對於內容較少的檔案很難成功判斷。
筆者也沒有找到可以只使用 CDN 就產生 big5 編碼格式檔案的方法,都需要有 node.js ,需要在後端才能成功處理。
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com