【发布时间】:2014-06-18 09:45:53
【问题描述】:
我有一个格式如下的文件:
utf-8 encoded text block
separator
binary data block
我使用 JavaScript 的 FileReader 以二进制字符串的形式读取文件
FileReader.readAsBinaryString 像这样:
var reader = new FileReader();
reader.onload = function(evt){
// Here I use the separator position to divide the file content into
// header and binary
...
console.log(header);
};
FileReader.onerror = function (evt) {
onFailure(evt.target.error.code);
}
reader.readAsBinaryString(blobFile);
标头未解析为 UTF-8。我知道 FileReader.readAsText 会考虑文件的编码,而 FileReader.readAsBinaryString 会逐字节读取文件。
如何将标头转换为 utf8?两次读取文件,一次作为二进制字符串读取二进制数据,再次作为文本以 utf8 编码获取第一个块,这对我没有吸引力。
【问题讨论】:
标签: javascript utf-8 filereader