十六进制字符串:的Javascript十六进制字符串fromCharCode
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的报价,因为在‘忙碌’的一天,我有一些丢失的数据。 拿到剧本的使用python binascii工作。(联合国)hexlify和PHP MBSTRING(UN)包(Web视图)。
期待:
6A E8 05 01 00 01 D9 DC 0A 09
1)试着输入'在节点解释0x6a'看看会发生什么,注意它'“的0x6A”'有什么区别。 2)'String.fromCharCode'的参数非常奇怪。 3)另外,不要在数组中使用'for in'。 – elmigranto
为什么你需要:“String.fromCharCode” 如果你已经在使用:“.toString(16)” 那么你已经有了一个String。 – Foggzie
这是为了沟通的目的。我需要翻译传入的hexstring消息,创建响应消息,并将响应消息作为十六进制字符串发回。所以我需要String.fromCharCode,并且很迷惑为什么它被称为超级奇怪。 感谢您的提示为{在};) – lontongcorp