JS——编码,解码

本文介绍了两种将字符串进行编码和解码的方法。第一种方法较为直接,通过获取每个字符的Unicode码点并将其填充为五位数字来实现编码;第二种方法则更为巧妙,通过对每个字符的码点加上100000后再截取后五位的方式完成编码。两种方法均提供了相应的JavaScript实现,并附带了编码与解码的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值