Javascript 如何从十六进制字符串构建二进制数组
我对在二进制级别处理数据的概念还不熟悉,希望有人能帮我一把 我想用一系列表示为字符串的十六进制数构建一个二进制缓冲区 比如说, 假设我有“xFCx40xFF”,我想把它转换成一个数组,看起来像:1111110001000000111111 最好的方法是什么 我最好的尝试似乎不起作用:Javascript 如何从十六进制字符串构建二进制数组,javascript,arrays,bit-manipulation,Javascript,Arrays,Bit Manipulation,我对在二进制级别处理数据的概念还不熟悉,希望有人能帮我一把 我想用一系列表示为字符串的十六进制数构建一个二进制缓冲区 比如说, 假设我有“xFCx40xFF”,我想把它转换成一个数组,看起来像:1111110001000000111111 最好的方法是什么 我最好的尝试似乎不起作用: var raw = "xFCx40xFF" var end = raw.length-2; var i = 1; var j = 0; var myArray = new Uint8Array(raw.len);
var raw = "xFCx40xFF"
var end = raw.length-2;
var i = 1;
var j = 0;
var myArray = new Uint8Array(raw.len);
while (i < end) {
var s = raw.substr(i,2);
var num = parseInt(s,16);
i += 3;
myArray[j] = num;
j += 8;
}
var raw=“xFCx40xFF”
var end=原始长度-2;
var i=1;
var j=0;
var myArray=新的Uint8Array(raw.len);
while(ivar raw = "xFCx40xFF"
var myArray = new Uint8Array(raw.length / 3);
for (var i = 0; i < raw.length / 3; i++) {
var str = raw.substr(3 * i + 1, 2);
var num = parseInt(str, 16);
myArray[i] = num;
}
var raw=“xFCx40xFF”
var myArray=新的Uint8Array(raw.length/3);
对于(变量i=0;ivar raw = "xFCx40xFF"
var myArray = new Uint8Array(raw.length / 3);
for (var i = 0; i < raw.length / 3; i++) {
var str = raw.substr(3 * i + 1, 2);
var num = parseInt(str, 16);
myArray[i] = num;
}
var raw=“xFCx40xFF”
var myArray=新的Uint8Array(raw.length/3);
对于(变量i=0;i16
调用parseInt()
,使用基数2
调用toString()
,以获取二进制字符串
var raw=“xFCx40xFF”;
var-bin=parseInt(原始分割('x')。连接(''),16)。toString(2);
document.body.textContent=bin
删除十六进制字符串的“x”字符,并用基数16
调用parseInt()
,用基数2
调用toString()
,以获取二进制字符串
var raw=“xFCx40xFF”;
var-bin=parseInt(原始分割('x')。连接(''),16)。toString(2);
document.body.textContent=bin代码>我喜欢这个解决方案中的聪明,但它对真正长的十六进制字符串不起作用我喜欢这个解决方案中的聪明,但对真正长的十六进制字符串不起作用