在JS裡怎麼讓 原本為2進位的字串變成16進位呢?
這裡紀錄一下小小的教學
JS提供了很方便的工具可以讓我們將傳統的數值轉為各種進位的字串
例如:
var origin = 100;
var result = origin.toString(2);
這時候 origin 還是10進位的數值型態要將他轉為2進位則利用toString並傳入需要的進位方式
但是如果要將2進位轉為16進位呢?
由於JS沒有辦法直接將2進位變成16進位
所以我們需要轉個方向
將2進位先轉回10進位就好啦! :p
好在JS也提供了轉回10進位的方式
parseInt()
parseInt除了將傳入的字串解析成數值以外
也可以加入進位的參數唷
例如:
parseInt( '1100', 2 );
這樣就會將1100當2進位處理
回傳 12這個數值
而不是直接回傳1100唷
所以2進位轉數值及數值轉回2進位都有了
這時候就可以來嘗試2轉16的部份
程式碼非常非常簡單 :)
範例:
var origin = '10000110'; // 2進位數字 var temp = parseInt(origin, 2); // 先將字串以2進位方式解析為數值 var result = temp.toString(16); // 將數值轉為16進位
jsfiddle線上範例
雖然不知道為什麼簡單的東西
打出來又變成長篇大論OTL...
沒有留言:
張貼留言