mirror of
https://github.com/ruanyf/es6tutorial.git
synced 2024-04-21 12:32:22 +00:00
docs(arraybuffer): edit arraybuffer
This commit is contained in:
+11
-1
@@ -454,7 +454,17 @@ Float64Array.BYTES_PER_ELEMENT // 8
|
||||
function ab2str(buf) {
|
||||
// 注意,如果是大型二进制数组,为了避免溢出,
|
||||
// 必须一个一个字符地转
|
||||
return String.fromCharCode.apply(null, new Uint16Array(buf));
|
||||
if (buf && buf.byteLength < 1024) {
|
||||
return String.fromCharCode.apply(null, new Uint16Array(buf));
|
||||
}
|
||||
|
||||
const bufView = new Uint16Array(buf);
|
||||
const len = bufView.length;
|
||||
const bstr = new Array(len);
|
||||
for (let i = 0; i < len; i++) {
|
||||
bstr[i] = String.fromCharCode.call(null, bufView[i]);
|
||||
}
|
||||
return bstr.join('');
|
||||
}
|
||||
|
||||
// 字符串转为 ArrayBuffer 对象,参数为字符串
|
||||
|
||||
Reference in New Issue
Block a user