Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将十六进制字符串转换为字节数组JS_Javascript_Node.js_Websocket_Socket.io - Fatal编程技术网

Javascript 将十六进制字符串转换为字节数组JS

Javascript 将十六进制字符串转换为字节数组JS,javascript,node.js,websocket,socket.io,Javascript,Node.js,Websocket,Socket.io,我在这方面已经有一段时间了,我对用JS编程还不熟悉。我正在使用JS、HTML5、node和socket.io制作一个游戏。我现在正在处理协议,我正在发送十六进制的服务器字符串 字符串的示例为:00010203040506070809 我很难将其转换为:0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 我计划做的是获取这些自定义数据包,并在我的服务器上基于这些数据包设置一个交换机。例如: BYTE HEADER | + Packet 0x00

我在这方面已经有一段时间了,我对用JS编程还不熟悉。我正在使用JS、HTML5、node和socket.io制作一个游戏。我现在正在处理协议,我正在发送十六进制的服务器字符串

字符串的示例为:00010203040506070809

我很难将其转换为:0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09

我计划做的是获取这些自定义数据包,并在我的服务器上基于这些数据包设置一个交换机。例如:

BYTE HEADER | + Packet
0x00        | 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09
然后我调用:parsepacket(header,data,len)


有人知道怎么做吗?

我不确定这是您想要的,但您可以将字符串转换为十六进制值数组,如下所示:

var str = "00010203040506070809",
    a = [];

for (var i = 0; i < str.length; i += 2) {
    a.push("0x" + str.substr(i, 2));
}

console.log(a); // prints the array
console.log(a.join(" ")); // turn the array into a string of hex values
​console.log(parseInt(a[1], 16));​ // parse a particular hex number to a decimal value
var str=“00010203040506070809”,
a=[];
对于(变量i=0;i
我不确定这是您想要的,但您可以将字符串转换为十六进制值数组,如下所示:

var str = "00010203040506070809",
    a = [];

for (var i = 0; i < str.length; i += 2) {
    a.push("0x" + str.substr(i, 2));
}

console.log(a); // prints the array
console.log(a.join(" ")); // turn the array into a string of hex values
​console.log(parseInt(a[1], 16));​ // parse a particular hex number to a decimal value
var str=“00010203040506070809”,
a=[];
对于(变量i=0;i
这可能有用:这可能有用:这正是我想要的!好极了!:-)您不需要在十六进制值之前添加
0x
来解析它。这正是我想要的!好极了!:-)无需在十六进制值之前添加
0x
,即可对其进行解析。