十六进制字符串:
var str = [0x6A, 0xE8, 0x05, 0x01, 0x00, 0x01, 0xD9, 0xDC, 0x0A, 0x09];
byte = '';
for (var i=0; i < str.length; i++) {
byte += String.fromCharCode( parseInt(str[i], 16).toString(16) );
}
但是接收者显示:
6A C3A8 05 01 00 01 C399 C39C 0A 09
有什么办法可以保持为2个字节吗?或者我的代码有问题,特别是对于nodejs?
*更新了脚本。 我对nodejs还比较新,我想看看nodejs提供的非阻塞事件,因为在“繁忙”的时候我会丢失一些数据。 使用binascii.(un)hexlify处理python脚本并使用PHP mbstring (un)pack(用于Web视图)使脚本正常工作。
期望:
6A E8 05 01 00 01 D9 DC 0A 09
0x6a
,并观察其与"0x6a"
的不同之处。String.fromCharCode
的参数非常奇怪。for in
。