我必须使用 Javascript 验证提供的参数是否是字节数组类型。我怎样才能实现这个目标?请指教。
最佳答案
因为不清楚您要检查的类型数组的类型/实例,所以这里是通用检查。检查 byteLength 是否存在,那么它应该是一个 byteArray
function isByteArray(array) {
if (array && array.byteLength !== undefined) return true;
return false;
}
Jonis Answer 的修改版本:(这将返回一个 ArrayBuffer,它被设计为包含字节)
函数 toUTF8Array(str) { var utf8 = new ArrayBuffer(str.length);
for (var i=0; i < str.length; i++) {
var charcode = str.charCodeAt(i);
if (charcode < 0x80) {
utf8[i] = charcode;
continue;
}
if (charcode < 0x800) {
utf8[i] = (0xc0 | (charcode >> 6),
0x80 | (charcode & 0x3f));
continue;
}
if (charcode < 0xd800 || charcode >= 0xe000) {
utf8[i] = (0xe0 | (charcode >> 12),
0x80 | ((charcode>>6) & 0x3f),
0x80 | (charcode & 0x3f));
continue;
}
i++;
charcode = 0x10000 + (((charcode & 0x3ff)<<10)
| (str.charCodeAt(i) & 0x3ff));
utf8[i - 1] = (0xf0 | (charcode >>18),
0x80 | ((charcode>>12) & 0x3f),
0x80 | ((charcode>>6) & 0x3f),
0x80 | (charcode & 0x3f));
}
return utf8;
}
关于javascript - 在 Javascript 中如何检查提供的参数是否是字节数组类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38862313/