如题
在和硬件设备的交互过程中,收到硬件传递回来的一个16进制的数字,低位在前,高位在后,如何优雅的解析为正确的10进制数据呢
//举例 16进制的一个数据 var num=0x12345678 //因为低位在前,高位在后,正确解析后是 num=0x78563412 //转换成10进制是 num=2018915346
目前的处理方式:把num按照长度切割,然后通过for循环调换前后顺序,最后parseInt转换为10进制,实现了目的,直觉这个方式肯定不合理,求更标准的做法思路
上面那种有问题,根据楼主的意思,正确的写法如下:
function translate(num){ return parseInt('0x' + num.match(/\d{2}/g).reverse().join(''), 16); } translate('0x12345678'); //2018915346
上面那种有问题,根据楼主的意思,正确的写法如下: