URL编码和解码笔记

URL编码是什么

URL编码是一种浏览器用来打包表单输入的格式。

浏览器从表单中获取所有的name和其中的值 ,将它们以name/value参数编码(移去那些不能传送的字符,将数据排行等等)作为URL的一部分或者分离地发给服务器。不管哪种情况,在服务器端的表单输入格式样子像这样:

theName=Ichabod+Crane&gender=male&status=missing& ;headless=yes

URL编码什么时候用呢

1.将它们以name/value参数编码作为URL的发给服务器时,然后你就可以获取了在session范围内

2.url里面有中文或者特殊字符比如中文的时候,就需要将编码转换

3.是让C和S更好的识别name和value用的,转义敏感字符和支持性不是很好的字符

4.防止sql注入

5.避免中文乱码

URL的编码和解码

方式一:JavaScript encodeURI() 函数,其定义和用法:

encodeURI() 函数通过将特定字符的每个实例替换为一个、两个、三或四转义序列来对统一资源标识符 (URI) 进行编码 (该字符的 UTF-8 编码仅为四转义序列)由两个 “代理” 字符组成)。

举例说明:URL:http://192.168.247.1/zwdtSW/swZhallItemAtt/declarationNotice.do?ST=REPORTCONDITIONS&ST_ITEM=‘中国’

encodeURI编码后:http://192.168.247.1/zwdtSW/swZhallItemAtt/declarationNotice.do?ST=REPORTCONDITIONS&ST_ITEM=’%E4%B8%AD%E5%9B%BD’

方式二:JavaScript encodeURIComponent() 函数,其定义和用法

作用:可把字符串作为URI 组件进行编码。其返回值URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。

举例说明:URL:http://192.168.247.1/zwdtSW/swZhallItemAtt/declarationNotice.do?ST=REPORTCONDITIONS&ST_ITEM=d6c4216e-6d16-4606

经过encodeURIComponent编码后可得:

http%3A%2F%2F192.168.247.1%2FzwdtSW%2FswZhallItemAtt%2FdeclarationNotice.do%3FST%3DREPORTCONDITIONS%26ST_ITEM%3Dd6c4216e-6d16-4606(这个一般会在Java后台代码中使用到)

在线编码转换

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章