var a = "i";console.log(a.charCodeAt()); //105console.log(a.charCodeAt().toString(2)); //1101001var a = "我";console.log(a.charCodeAt()); //25105console.log(a.charCodeAt().toString(2)); //110001000010001 var a = "我们";console.log(a.length); //2var list = a.split("");console.log(list.length); //2<br>console.log(a.charCodeAt().toString(2)); //110001000010001 100111011101100 //将字符串转换成二进制形式,中间用空格隔开function strToBinary(str){ var result = []; var list = str.split(""); for(var i=0;i<list.length;i++){ if(i != 0){ result.push(" "); } var item = list[i]; var binaryStr = item.charCodeAt().toString(2); result.push(binartStr); } return result.join("");}console.log(strToBinary("我们")); //110001000010001 100111011101100console.log(strToBinary("@%$+")); //1000000 100101 100100 101011//将二进制字符串转换成Unicode字符串function binaryToStr(str){ var result = []; var list = str.split(" "); for(var i=0;i<list.length;i++){ var item = list[i]; var asciiCode = parseInt(item,2); var charValue = String.fromCharCode(asciiCode); result.push(charValue); } return result.join("");} console.log(binaryToStr("110001000010001 100111011101100")); //我们console.log(binaryToStr("1000000 100101 100100 101011")); //@%$+
PS:下面看下Js之字符串和字节码之间的相互转换
代码
//将字符串转化为二进制的数据function strToBinary(str){ var result = []; var list = str.split(""); for(var i=0;i<list.length;i++){ if(i != 0){ //加空格,分割二进制 result.push(" "); } var item = list[i]; //将字符串转化为二进制数据 var binaryStr = item.charCodeAt().toString(2); result.push(binaryStr); } return result.join("");}//二进制转为字符串function binaryToStr(str){ var result = []; // //通过空格来分开二进制的字符 var list = str.split(" "); for(var i=0;i<list.length;i++){ var item = list[i]; //转为asciicode 码 var asciiCode = parseInt(item,2); //转为文字 var charValue = String.fromCharCode(asciiCode); //添加到集合中 result.push(charValue); } //返回结果 return result.join("");}