什么是URL编码和URL解码?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是URL编码和URL解码?相关的知识,希望对你有一定的参考价值。

通过以下两种方式都可以编码和解码

1、
用JS对URL进行编码和解码

javascript中有三个可以对字符串编码的函数,分别是:
escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent。

escape()
函数可对字符串进行编码

语法
escape(string)

encodeURI()
函数可把字符串作为
URI
进行编码。
语法
encodeURI(URIstring)
该方法的目的是对
URI
进行完整的编码,因此对以下在
URI
中具有特殊含义的
ASCII
标点符号,encodeURI()
函数是不会进行转义的:;/?:@&=+$,#

encodeURIComponent()
函数
encodeURIComponent()
函数可把字符串作为
URI
组件进行编码。
escape()除了
ASCII
字母、数字和特定的符号外,对传进来的字符串全部进行转义编码,因此如果想对URL编码,最好不要使用此方法。而encodeURI()
用于编码整个URI,因为URI中的合法字符都不会被编码转换。encodeURIComponent方法在编码单个URIComponent(指请求参数)应当是最常用的,它可以讲参数中的中文、特殊字符进行转义,而不会影响整个URL。

2、用asp.net
对URL进行编码和解码
用System.Web.HttpUtility.UrlEncode编码:
string
tmp1
=
System.Web.HttpUtility.UrlEncode(".net技术",
System.Text.Encoding.GetEncoding("GB2312"));
string
tmp2
=
System.Web.HttpUtility.UrlEncode(".net技术",
System.Text.Encoding.UTF8);

用System.Web.HttpUtility.UrlDecode
或者
Server.UrlEncode
相应的进行解码

参考资料:

URL如何编码与解码
http://www.studyofnet.com/news/167.html
参考技术A urlencode()函数原理就是首先把中文字符转换为十六进制,然后在每个字符前面加一个标识符%。 urldecode()函数与urlencode()函数原理相反,用于解码已编码的 URL 字符串,其原理就是把十六进制字符串转换为中文字符本回答被提问者和网友采纳

以上是关于什么是URL编码和URL解码?的主要内容,如果未能解决你的问题,请参考以下文章

URL中文编码解码

js对url进行编码和解码

URL网址链接中的中文编码与解码

怎样用jquery编码和解码url

JS对URL进行编码和解码

url的编码和解码方式