JS 是一个很神奇的语言,内制的的很多函数可以帮我们进行数(进)制转换;
JS中可以直接使用16进制;
var a = 0xff; //255
将任意进制字符串转换为十进制,如二进制,八进制,十六进制, 第二数数不写即为最常用的转换为整型十进制;
复制代码 代码如下:
parseInt("11", 2); // 3 2进制转10进制
parseInt("77", 8); // 63 8进制转10进制
parseInt("af", 16); //175 16进制转10进制
将10进制转换为2进制,八进制,十六进制字符串
Object.toString(n) : 即可 (n) 表示进制,如
复制代码 代码如下:
(152).toString(2) // "10011000" ; 先用括号将152转换“包”成一个对象, 或者如下写法;
152..toString(2) // 这里第一个点将152转换成float类型的小数,第二个点是引出对象方法;
152..toString(16) // "98" : 十进制转16进制
152..toString(32) // "4o" :十提制转32进制
同样Javascript支持最大进制是36 (26个英文字母+10个数字)
35..toString(36) // "z" : 支持最大编码"Z", 不区分大小写
如果在转换的过程中需要补齐的。可以使用下面的方式:
复制代码 代码如下:
/**
* @param num 需要补齐的16为数字
* @param len 要补齐到的位数 这里是
* @returns 补齐后的字符串
* */
function format(num, len) {
var l = num.length;
if (num.length < len) {
for (var i = 0; i < len - l; i++) {
num = "0" + num;
}
}
return num;
}