首页 > 其他分享 >URL编码方式

URL编码方式

时间:2023-07-02 13:03:52浏览次数:40  
标签:编码 UTF 字符 URL escape 字符串 编码方式 encodeURI



URL编码方法比较 Encode,Javascript,escape,encodeURI,encodeURIComponent,UTF-8


javascript中存在几种对URL字符串进行编码的方法:escape(),encodeURI(),以及encodeURIComponent()。这几种编码所起的作用各不相同。
escape() 方法:

采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。

不会被此方法编码的字符: @ * / +

encodeURI() 方法:

把URI字符串采用UTF-8编码格式转化成escape格式的字符串。

不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + '

encodeURIComponent() 方法:

把URI字符串采用UTF-8编码格式转化成escape格式的字符串。与encodeURI()相比,这个方法将对更多的字符进行编码,比如 / 等字符。所以如果字符串里面包含了URI的几个部分的话,不能用这个方法来进行编码,否则 / 字符被编码之后URL将显示错误。

不会被此方法编码的字符:! * ( ) '

因此,对于中文字符串来说,如果不希望把字符串编码格式转化成UTF-8格式的(比如原页面和目标页面的charset是一致的时候),只需要使用escape。如果你的页面是GB2312或者其他的编码,而接受参数的页面是UTF-8编码的,就要采用encodeURI或者encodeURIComponent。

另外,encodeURI/encodeURIComponent是在javascript1.5之后引进的,escape则在javascript1.0版本就有。


 

标签:编码,UTF,字符,URL,escape,字符串,编码方式,encodeURI
From: https://blog.51cto.com/u_16174476/6604479

相关文章

  • 怎么使用java 将url编码转汉字
    URL编码是将URL中的特殊字符转换为%加上对应的ASCII码的形式。而将URL编码转换回原始字符则是通过对URL进行解码操作。在Java中,您可以使用java.net.URLDecoder类来进行URL解码操作。下面是一个示例代码:publicclassURLDecode{publicstaticvoidmain(String[]args){......
  • 怎么使用java 将url编码转汉字
    URL编码是将URL中的特殊字符转换为%加上对应的ASCII码的形式。而将URL编码转换回原始字符则是通过对URL进行解码操作。在Java中,您可以使用java.net.URLDecoder类来进行URL解码操作。下面是一个示例代码:publicclassURLDecode{publicstaticvoidmain(String[]args){......
  • 怎么使用java 将url编码转汉字
    ​URL编码是将URL中的特殊字符转换为%加上对应的ASCII码的形式。而将URL编码转换回原始字符则是通过对URL进行解码操作。在Java中,您可以使用java.net.URLDecoder类来进行URL解码操作。下面是一个示例代码:publicclassURLDecode{publicstaticvoidmain(String[]args)......
  • 怎么使用java 将url编码转汉字
    ​URL编码是将URL中的特殊字符转换为%加上对应的ASCII码的形式。而将URL编码转换回原始字符则是通过对URL进行解码操作。在Java中,您可以使用java.net.URLDecoder类来进行URL解码操作。下面是一个示例代码:publicclassURLDecode{publicstaticvoidmain(String[]args)......
  • mysql 联合表查询从表即使有索引依然ALL的一个原因-索引ALL解决,字符编码方式不一致导
    mysql联合表查询从表即使有索引依然ALL的一个原因-索引ALL解决,字符编码方式不一致导致全表搜索那就是主表和从表的关联字段的编码方式不一样!!!产生的现象:解决之后,正确的使用了t2.order_noref索引,而不是ALL检查mysql主体编码方式,是否由于后来新建的表的关联字段和之前的主表的......
  • 关于href、src、rel和url~
    关于href、src、rel和url~ 辨析href(hypertextreference超文本引用):指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,用于超链接。属性值:片段标识符、javascript代码段、相对或绝对路径。##id属性值javascript:;相对路径网址<linkhref="inde......
  • Nginx七层转发&URL转发
    URL转发应用场景根据HTTP的URL转发的场景,被称之为七层转发(应用层转发),然而LVS的负载均衡一般用于TCP的转发,也就被称之为4层转发。利用Nginx的七层转发,可以实现动静分离,移动、PC端页面区分,交给不同的后端服务器处理,让用户得到更佳的访问体验。通过$http_user_agent获取,根据该变......
  • urlMappings在asp.net2.0,asp.net4.0中的差异
    asp.net从2.0开始支持urlMappings,最近在项目中发现一点问题。我在公司使用的是vs2010,dotnetFramework版本为4.0。由于项目需要,需要将一个default.aspx页面的url改为Item,也就没想太多,直接使用了urlMappings.在IIS设置无后缀映射,结果效果很好,连form的action都改变了。如下......
  • php通过Curl给接口上传文件。
    在PHP中使用cURL上传文件至接口,你可以通过CURLOPT_POSTFIELDS选项来设置文件的内容。以下是一个示例:functionuploadFile($url,$filePath,$fieldName){$ch=curl_init($url);$postData=array($fieldName=>newCURLFile($filePath));c......
  • 前端打包部署后接口BASE_URL不对问题解决办法
    在前端打包部署时,为了免去不同环境打包的麻烦,项目用的流水线触发方式。在这里不细说,重点说说下面情况。当项目提交打包部署后,访问压测环境或者生产环境的地址来使用项目时,发现接口报错404。 在NETWORK里发现接口的BASEURL和当前环境需要调用的后端baseurl不同。主要问题在于......