我想读取通过 XMLHttpRequest 获取的 JavaScript 二进制文件,并能够操作该数据。通过我的研究,我发现了这种将二进制文件数据读入数组的方法
var xhr = new XMLHttpRequest();
xhr.open('GET', '/binary_And_Ascii_File.obj', true);
xhr.responseType = 'arraybuffer';
xhr.onload = function(e) {
var uInt8Array = new Uint8Array(this.response);
};
如何将此二进制数据数组转换为人类可读的字符串?
我相信您会发现这很有帮助:http://jsdo.it/tsmallfield/uint8array http://jsdo.it/tsmallfield/uint8array.
点击javascript
标签。
将会出现将 Uint8Array 转换为字符串的代码。作者展示了2种方法:
EDIT:报告代码的完整性
var buffer = new ArrayBuffer( res.length ), // res is this.response in your case
view = new Uint8Array( buffer ),
len = view.length,
fromCharCode = String.fromCharCode,
i, s, str;
/**
* 1) 8bitの配列に入れて上位ビットけずる
*/
str = "";
for ( i = len; i--; ) {
view[i] = res[i].charCodeAt(0);
}
for ( i = 0; i < len; ++i ) {
str += fromCharCode( view[i] );
}
/**
* 2) & 0xff で上位ビットけずる
*/
str = "";
for ( i = 0; i < len; ++i ) {
str += fromCharCode( res[i].charCodeAt(0) & 0xff );
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)