HTML5で追加されたFileAPIで、ローカルファイルをJavaScriptで扱えるようになりました。ファイルの中身をテキストと見なして読み込むreadAsTextメソッドでは、第二引数で文字コードを指定できますが、そもそも文字コードが分からなかったり自動判別したいときの対処法です。 結論としては、readAsArrayBufferでバイナリのまま読み込んでライブラリにデコードしてもらいます。 今回 encoding.js を使いました。 数値配列をもとに、文字コードの判別や変換をしてくれるマッチョなライブラリです。 var file = // 文字コードの分からないテキストファイル var reader = new FileReader(); reader.onload = function (e) { // 8ビット符号なし整数値配列と見なす var array = new Uint