API кодирования ограничен и не поддерживает CP437.Итак, процесс конвертирования выглядит следующим образом:
создайте пустой проект npm, используя
npm init
, затем установите
npm install -g browserify
npm install iconv-lite buffer-shims
создайте файл index.js с:
window.iconv = require('iconv-lite');
window.Buffer = require('buffer-shims');
run
browserify -o iconv.js index.js
и теперь у вас есть браузерная версия библиотеки iconv lite (в файле iconv.js
), которая будет работать из браузера.
С ее помощью вы можете запустить:
document.getElementById('file').addEventListener('change', function(event) {
var reader = new FileReader();
reader.onload = function(event) {
var utf8_str = iconv.decode(Buffer.from(event.target.result), 'CP437');
};
reader.readAsArrayBuffer(event.target.files[0]);
});
вам понадобится:
<input id="file" type="file" />
и
<meta charset="utf-8"/>
, чтобы iconv-lite мог конвертировать строку в utf-8, то естьтолько действительная кодировка.