难以在javascript中转换unsigned int16和unsigned int32

时间:2011-07-21 17:26:56

标签: javascript binary types

我正在使用一个api,它在一系列base64字符串中发送数据,我将其转换为字节数组。我能够解析数据中发送的时间值(年,日,小时等.api将其数据类型列为unsigned char)。我在javascript中使用parseInt(...,2)。

我遇到的困难是将signed int32和unsigned int16转换为十进制值。例如,这些是电压和功率的位噪声:

电压(无符号int16)01101010 00001001 - 应该在120.0左右 功率(签名int32)10101010 00010110 00000000 00000000 - 应为0-10千瓦时

有谁知道如何转换这些值?另外,我写了一个简单的函数将base64转换为一个字节数组,我很确定是正确的,但上面的值没有任何意义,也许它不是。如果是这种情况,有没有人知道将base64转换为二进制的插件。

谢谢, 特里斯坦

2 个答案:

答案 0 :(得分:0)

作为无符号int的电压为27145,是您从转换中获得的电压,因为它是正确的值。你的权力是-1441398784作为签名的int。

答案 1 :(得分:0)

我看不出0110101000001001如何转换为120 ...根据字节顺序,它是27415或2410