javascript将16进制的字符串转换为10进制整数hex

16进制的字符串 转换为整数

function hex2int(hex) {

    var len = hex.length, a = new Array(len), code;

    for (var i = 0; i < len; i++) {

        code = hex.charCodeAt(i);

        if (48<=code && code < 58) {

            code -= 48;

        } else {

            code = (code & 0xdf) - 65 + 10;

        }

        a[i] = code;

    }

    

    return a.reduce(function(acc, c) {

        acc = 16 * acc + c;

        return acc;

    }, 0);

}

// 15 + 16 * 13 + 256 = 479

console.log(hex2int("1df"));

十进制整数转换16进制

function int2hex(num, width) {

var hex = "0123456789abcdef";

var s = "";

while (num) {

s = hex.charAt(num % 16) + s;

num = Math.floor(num / 16);

}

if (typeof width === "undefined" || width <= s.length) {

return "0x" + s;

}

var delta = width - s.length;

var padding = "";

while(delta-- > 0) {

padding += "0";

}

return "0x" + padding + s;

}

console.log(int2hex(479, 8));

0x000001df

下面是补充资料

JS-Ascii码中字符与十进制/十六进制相互转换

如上述图ASCII标准表中,想将字符“1”转换成十进制或十六进制,实现方法:

var charData = '1';

charData.charCodeAt(); //输出结果为上表中‘1'对应的十进制数据:49

charData.charCodeAt().toString(16); //输出结果为上表中‘1'对应的十六进制数据:31

若想将不同进制数据转换成对应字母的实现方法:

var num = 49;

String.fromCharCode(num); //输出49对应的字符 '1'

JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)

var a='11160';

alert(parseInt(a,2)); //将111做为2进制来转换,忽略60(不符合二进制),从左至右只将符合二进制数的进行转换

alert(parseInt(a,16)); //将所有的都进行转换

依照此方法,其实可以转换成任何进制

var a='1110';

alert(parseInt(a,10).toString(16)); //将A转换为10进制,然后再转换成16进制 同样也可以是其它进制

下面说下ASCII 码:

function test(){

var a='ab';

var c=a.charCodeAt(1);//返回98 也就是b的AscII码 位置从0开始

var char=String.fromCharCode(98);返回小写的b

}

//小例子

function test(){ //输出AscII码扩展集中的字符

var c="";

for(var i=1;i<65536;i++){

if((i%10)==0){

c+=i+':\t'+String.fromCharCode(i)+'\t'+'\n';}else{

c+=i+':\t'+String.fromCharCode(i)+'\t';}

}

document.getElementById("abc").innerText=c;

}

<div id='abc'></div>

js字符与ASCII码互转的方法

大写字母A-Z对应的ASCII码值是65-90

小写字母a-z对应的ASCII码值是97-122

将字母转为ascii嘛的方法:

var str = "A";

str.charCodeAt(); // 65

var str1 = 'a';

str1.charCodeAt(); // 97

将ascii码转为对应字母的方法:

var num = 97;

String.fromCharCode(num); // 'a'

var num1 = 100;

String.fromCharCode(num1); // 'd'

以上是 javascript将16进制的字符串转换为10进制整数hex 的全部内容, 来源链接: utcz.com/z/344139.html

回到顶部