如題
在和硬體設備的互動過程中,收到硬體傳遞回來的一個16進位的數字,低位在前,高位在後,如何優雅的解析為正確的10進位資料呢
//举例 16进制的一个数据
var num=0x12345678
//因为低位在前,高位在后,正确解析后是
num=0x78563412
//转换成10进制是
num=2018915346
目前的處理方式:
把num依照長度切割,然後透過for迴圈調換前後順序,最後parseInt轉換為10進制,實現了目的,直覺這個方式肯定不合理,求更標準的做法思路
迷茫2017-05-19 10:33:47
上面那種有問題,根據樓主的意思,正確的寫法如下:
function translate(num){
return parseInt('0x' + num.match(/\d{2}/g).reverse().join(''), 16);
}
translate('0x12345678'); //2018915346