今天遇到的几个关于编码的问题

本文探讨了URL中空格的不同编码方式及其对Request.Form[0]的影响,并介绍了JavaScript中用于编码的escape()和encodeURIComponent函数的区别。此外,还提供了解决HTML中&符号显示问题的方法。

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

一、Request.Form[0]对于空格的处理:

post: a+b
Request.Form[0] :a b(a与b中间是空格)

url: a b(a与b中间是空格)
Request.Form[0]:a b(a与b中间是空格)

url: a%20b
Request.Form[0]: a b(a与b中间是空格)

url: a%2Bb
Request.Form[0]: a+b

直接用Post请求的时候,如果参数中有+号或者空格一定要看看是不是应该先encode一下。如果是空格用javascript的escape()就能encode,如果是+号就得用encodeURIComponent

 

附:

escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z

encodeURI不编码字符有82个:!,#,$,&,'',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

encodeURIComponent不编码字符有71个:!, '',(,),*,-,.,_,~,0-9,a-z,A-Z

 

 二、this.innerHTML="&" 会将"&"转义成"&"导致无法正常显示"&:

解决方法:

var str = ”&";

this.innerHTML= str.replace(/&/g,"&amp");

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值