您好,欢迎访问一九零五行业门户网

Js字符串相互转换十六进制的方法

开发过程中,字符串与十六进、二进制之间的相互转换常常会用到,尤其是涉及到中文的加密时,就需要把中文转换为十六进制。下面说说具体的转换方法。
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); stringtohex('ab中国中國'); -- 结果: 41,42,4e2d,56fd,4e2d,570b
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);
3、用 parseint() 方法转换 parseint(string, radix) 方法只能转换 string 类型,对其它类型都返回 nan(非数字)。string 表示待转换的字符,radix 表示要转为的进制,值介于 2 ~ 36 之间。 parseint("bc",16); //表示把字符串bc转换为16进制,结果:188 parseint("10",8); //表示把字符串10转换为8进制,结果:8 parseint("10",2); //表示把字符串10转换为2进制,结果:2
var str = "abcdeghijklmnopqrstuvwxyz";console.log(stringtohex(str)); str="http://www.qq.com";len=str.length;arr=[];   for(var i=0;i<len;i++){arr.push(str.charcodeat(i).tostring(16));} console.log("\\x"+arr.join("\\x"));
相关推荐:
javascript进阶(四)js字符串转换成数字的三种方法
以上就是js字符串相互转换十六进制的方法的详细内容。
其它类似信息

推荐信息