JS 关于 URL 的编码或解码方法
URL的合法字符
URL的合法字符表示再浏览器的地址栏中不会被转义的字符,有两种:
- URL元字符:分号(;),逗号(’,’),斜杠(/),问号(?),冒号(:),at(@),&,等号(=),加号(+),美元符号($),井号(#)
- 语义字符:a-z,A-Z,0-9,连词号(-),下划线(_),点(.),感叹号(!),波浪线(~),星号(*),单引号(),圆括号(()`)
当输入的字符不符合以上的字符时,浏览器就会把该字符转义,规则:根据操作系统的默认编码,将每个字节转为百分号(%)加上两个大写的十六进制字母。
比如:当再浏览器地址栏中输入www.baidu.com/q=你好
时,会被转义成例如www.baidu.com/q=%E6%98%A5%E8%8A%82
类似的字符串,浏览器才会读取。
JavaScript的四个URL编码/解码方法:
encodeURI
将元字符和语义字符之外的字符都进行转义,一般用于知道该URL只用于完整的URL时使用
encodeURIComponent
将除了语义字符之外的字符进行转义,包括元字符,因此,它的参数通常是URL的路径或参数值,而不是整个URL。
比如说,要在谷歌中搜索www.baidu.com/q=5&name
时,若使用encodeURI,&字符并不会被转义,从而改变其真正的URL。
decodeURI
还原转义后的URL,是encodeURI方法的逆运算。
decodeURIComponent(此方法可以还原被转义的 url)
还原转义后的URL片段。是encodeURIComponent方法的逆运算。
转载于:https://www.cnblogs.com/ryanzheng/p/10374226.html
JS 关于 URL 的编码或解码方法相关推荐
- js 对url进行编码和解码
三种编码和解码函数: encodeURI和 decodeURI 它着眼于对整个URL进行编码,因此除了常见的符号以外,对其他一些在网址中有特殊含义的符号"; / ? : @ & = ...
- JS对url进行编码和解码(三种方式区别)
Javascript语言用于编码的函数,一共有三个,最古老的一个就是escape().虽然这个函数现在已经不提倡使用了,但是由于历史原因,很多地方还在使用它,所以有必要先从它讲起. escape 和 ...
- linux url解码,js对url进行编码和解码(三种方式区别)
*** 只有 0-9[a-Z] $ - _ . + ! * ' ( ) , 以及某些保留字,才能不经过编码直接用于 URL. ***例如:搜索的中文关键字,复制网址之后再粘贴就会发现该URL已经被转码 ...
- JS对URL进行编码和解码
escape 和 unescape 编码: escape('http://www.baidu.com?name=zhang@xiao@jie&order=1') 结果:"http%3 ...
- python url解码_对python中url参数编码与解码的实例详解
一.简介 在python中url,对于中文等非ascii码字符,需要进行参数的编码与解码. 二.关键代码 1.url编码 对字符串编码用urllib.parse包下的quote(string, saf ...
- URL 的编码和解码
URL 的编码和解码 1 什么是 URL? URL(Uniform Resource Locator):统一资源定位符,它是用来表示互联网上的某个资源地址,互联网上的每个文件都有一个唯一的 URL,它 ...
- php编码 js解码,浅谈php和js中json的编码和解码
php中 1)编码 $jsonstr = json_encode($array) 2)解码 $arr = json_decode($jsonstr) echo json_encode("中文 ...
- go url 参数编码和解码
为什么80%的码农都做不了架构师?>>> 1 在做支付的时候会涉及到 url参数编码和解码,然后转换成自己想要的格式 app_id=2016073100129537&b ...
- 便利贴--41{js - base64 - _utf8_ 的编码和解码}
便利贴--41{便利贴--41{js - base64 - _utf8_ 的编码和解码}} 编码 解码 utf8 合并 编码 this.encode = function (input) {_keyS ...
最新文章
- Linux系统管理工具-iostat、free、ps、netstat、tcpdump
- 红帽linux登陆错误,xmanager连接RedHat出错:/usr/X11R6/bin/xterm: No such file or directory
- 数据挖掘原理与算法:机器学习->{[sklearn. model_selection. train_test_split]、[h2o]、[网格搜索]、[numpy]、[plotly.express]}
- 什么情况下选择linux,在哪种情况下建议选择BSD系统而不是Linux?
- 设置edittext不自动获取焦点
- matlab二元一次方程求解_高中化学二元混合物的十字交叉法解法
- mailto 附带附件_我和我的朋友如何将附带项目发展为每月$ 17,000的业务
- Python set集合 - Python零基础入门教程
- 背部辨识度极高!红米K30系列将率先采用高通5G处理器
- C#-设置button颜色
- Android 如何在一个Activity中合理地显示多种类型的checkBox
- SoapUI 使用教程链接
- python开发erp系统odoo_odooERP系统(框架)总结
- 《UnityAPI.Animation动画》(Yanlz+Unity+SteamVR+云技术+5G+AI+VR云游戏+Animation+AddClip+CrossFade+立钻哥哥++OK++)
- MessageBox--获知点击确认还是取消?
- 【2D detection】Deformable DETR论文阅读记录
- 计算机word文档无法工作,word无法打开(WORD文档打不开_解决方法_电脑基础知识_IT/计算机_专业资料)...
- 盘点3种生涯的决策类型和方法,看看你是哪种类型?|【生涯荐读】
- file.exists(),file.isFile()和file.isDirectory()的区别
- SAP 散装物料作用及设置