spfLinux通过本文主要向大家介绍了JS,编码,解码等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
1、有点笨的方法
var msg = "小笑哈"; function encode(msg){ //编码 var code = ""; for(var i=0;i<msg.length;i++){ var ca = msg.charCodeAt(i); //不足5位,补足5位,加0 /*if(ca < 10){ //遇不到这样的情况 ca = "0000" + ca; }else*/if(ca < 100){ ca = "000" + ca; }else if(ca < 1000){ ca = "00" + ca; }/*else if(ca < 10000){ //遇不到这样的情况 ca = "0" + ca; }*/ code += ca; console.log(ca); } return code; } var code = encode(msg); console.log(code); function decode(code){ //解码 var tmpStr = ""; var result = ""; for(var i=0;i<code.length;i++){ tmpStr += code[i]; if((i+1)%5==0){ console.log(tmpStr); result += String.fromCharCode(tmpStr); tmpStr = ""; } } return result; } var deMsg = decode(code); console.log("转换后的:"+deMsg);
2、巧妙的方法
var msg = "小笑哈"; function encode(msg){ //编码 var code = ""; for(var i=0;i<msg.length;i++){ var ca = msg.charCodeAt(i); //不足5位,补足5位,加0 ca = (ca+100000+"").slice(1); //巧妙的处理方法 code += ca; console.log(ca); } return code; } var code = encode(msg); console.log(code); function decode(code){ //解码 var result = ""; for(var i=0;i<code.length;i+=5){ result += String.fromCharCode(code.slice(i,i+5)); //result += String.fromCharCode(code.substring(i,i+5)); //result += String.fromCharCode(code.substr(i,5)); //获取从i起5个... //code.substring(i,i+5) //code.substr(i,5) } return result; } var deMsg = decode(code); console.log("转换后的:"+deMsg);