首页 > 编程语言 > javascript将16进制的字符串转换为10进制整数hex
2020
09-24

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的详细内容,更多关于16进制的字符串转换为10的资料请关注自学编程网其它相关文章!

编程技巧