利用javascript进行进制转换的方法
今天在做网站时用到了进制的转换,于是在网上搜索,发现可以直接利用javascript的toString()方法和parseInt()方法进行十进制和其他进制之间的转换,这里对他们的用法进行一下整理。
toString()方法:将十进制数转换成其他进制数
parseInt()方法:将其他进制数转换成十进制数
var htmer=function(s){document.write('<br />'+s)}; //输出结果
//将十进制数转换成其他进制数
var x=123;
htmer(x.toString(2)); //转换成2进制
htmer(x.toString(8)); //转换成8进制
htmer(x.toString(16)); //转换成16进制
//将其他进制数转换成十进制数
var x='10';
htmer(parseInt(x,2)); //将2进制的10转换成十进制
htmer(parseInt(x,8)); //将8进制的10转换成十进制
htmer(parseInt(x,16)); //将16进制的10转换成十进制
</script>
小提示:如果你想在其他进制数之间进行转换,可以以十进制为基准来进制转换。比如你想将2进制数转换成8进制,则可以先将2进制数转换成十进制数,然后再将十进制数转换成8进制数即可。
分类: 系统运维
开发过程中,字符串与十六进、二进制之间的相互转换常常会用到,尤其是涉及到中文的加密时,就需要把中文转换为十六进制。下面说说具体的转换方法。
1、字符串转换为十六进制
主要使用 charCodeAt()方法,此方法返回一个字符的 Unicode 值,该字符位于指定索引位置。
function stringToHex(str){
var val="";
for(var i = 0; i < str.length; i++){
if(val == "")
val = str.charCodeAt(i).toString(16);
else
val += "," + str.charCodeAt(i).toString(16);
}
return val;
}
调用方法:
var str = "abcde";
stringToHex(str);
2、十六进制转换为字符串
主要使用 fromCharCode()方法,此方法将 Unicode 码转换为与之对应的字符。
function hexToString(str){
var val="";
var arr = str.split(",");
for(arr i = 0; i < arr.length; i++){
val += arr[i].fromCharCode(i);
}
return val;
}
调用方法:
var str = "676865";
stringToHex(str);
本文链接地之二 :http://www.htmer.com/article/618.htm