欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

javascript binl2hex

在JavaScript編程中,經(jīng)常需要將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為十六進(jìn)制數(shù)據(jù)。這時(shí)候就可以使用JavaScript中的binl2hex函數(shù)。

binl2hex函數(shù)一般用于將不可重復(fù)信息的哈希值,如MD5等,轉(zhuǎn)換為十六進(jìn)制字符串。下面我們就來(lái)看一下binl2hex函數(shù)的具體實(shí)現(xiàn)。

function binl2hex (binarray) {
var hex_tab = "0123456789abcdef";
var str = "";
for(var i = 0; i< binarray.length * 4; i++) {
str += hex_tab.charAt((binarray[i>>2] >>((i%4)*8+4)) & 0xF) +
hex_tab.charAt((binarray[i>>2] >>((i%4)*8  )) & 0xF);
}
return str;
}

以上是binl2hex函數(shù)的完整代碼。函數(shù)中用到了一個(gè)16進(jìn)制字符表,將16進(jìn)制數(shù)分成0-9和a-f共16種。在循環(huán)里面,首先通過(guò)右移和位與操作獲取當(dāng)前的二進(jìn)制數(shù)據(jù),然后使用hex_tab字符表得到對(duì)應(yīng)的十六進(jìn)制字符。

下面我們來(lái)看一個(gè)具體的例子,將MD5哈希值輸出為十六進(jìn)制字符串:

var md5Hash = "2a27c67e727be03a391d2eadd94d1ac8";
var binArray = [];
for(var i = 0; i< md5Hash.length; i+=2) {
binArray.push(parseInt(md5Hash.substr(i, 2), 16));
}
var hexStr = binl2hex(binArray);
alert(hexStr);

以上代碼中,首先獲取MD5哈希值,然后將其拆成兩個(gè)字符一組,并使用parseInt將其轉(zhuǎn)換為二進(jìn)制形式。之后再將這些二進(jìn)制數(shù)據(jù)傳入binl2hex函數(shù)中,得到十六進(jìn)制字符串。

總的來(lái)說(shuō),JavaScript中的binl2hex函數(shù)非常方便實(shí)用,可以將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為十六進(jìn)制字符串,從而方便數(shù)據(jù)處理。在實(shí)際使用中,我們可以根據(jù)實(shí)際需要來(lái)修改該函數(shù),以實(shí)現(xiàn)不同的數(shù)據(jù)轉(zhuǎn)換方式。

上一篇php api日志
下一篇php api注意