如題
在和硬體設備的互動過程中,收到硬體傳遞回來的一個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
上面那種有問題,根據樓主的意思,正確的寫法如下: