位置: 编程技术 - 正文

js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解(js 字符编码)

编辑:rootadmin

推荐整理分享js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解(js 字符编码),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js 字符编码,js字符串编码转换,js中字符串编码是什么,js字符串编码格式转换,js 字符串编码,js字符串编码转换,js中字符串编码是什么,js中字符串编码是什么,内容如对您有帮助,希望把文章链接给更多的朋友!

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

unescape,decodeURI,decodeURIComponent 。

下面简单介绍一下它们的区别

1 escape()函数

定义和用法

escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。

语法

escape(string)

参数 描述

string 必需。要被转义或编码的字符串。

返回值

已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。

说明

该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: -_ . *

其他所有的字符都会被转义序列替换。

2 encodeURI()函数

定义和用法

encodeURI() 函数可把字符串作为 URI 进行编码。

语法

encodeURI(URIstring)

参数 描述

URIstring 必需。一个字符串,含有 URI 或其他要编码的文本。

返回值

URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。

说明

js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解(js 字符编码)

该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

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

3 encodeURIComponent() 函数

定义和用法

encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。

语法

encodeURIComponent(URIstring)

参数 描述

URIstring 必需。一个字符串,含有 URI 组件或其他要编码的文本。

返回值

URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。

说明

该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

其他字符(比如 :;/&#;:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。

提示和注释

提示:请注意 encodeURIComponent() 函数 与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。

4 总结:

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

5 示例:

1 escape()

2 encodeURI()

对整个URL进行编码,而URL的特定标识符不会被转码。

3 encodeURIComponent()

例1:

例2:

对URL中的参数进行编码,因为参数也是一个URL,如果不编码会影响整个URL的跳转。

js+flash实现的5图变换效果广告代码(附演示与demo源码下载) 本文实例讲述了js+flash实现的5图变换效果广告代码。分享给大家供大家参考,具体如下:这是一款类似淘宝图片广告的js+flash广告代码。非常美观实用!

JS中多步骤多分步的StepJump组件实例详解 最近的工作在做一个多步骤多分步的表单页面,这个多步骤多分步的意思是说这个页面的业务是分多个步骤完成的,每个步骤可能又分多个小步骤来处

Atitit.js的键盘按键事件捆绑and事件调度 1.Best的方法还是objEvtMap[id+evt]=function(evt,element)2.EventbindfunctionbindEvent_4_dataBlock(){vararr=$("#table1li");arr.each(function(index,element){$(element).keypress(function(){alert('keyp

标签: js 字符编码

本文链接地址:https://www.jiuchutong.com/biancheng/375926.html 转载请保留说明!

上一篇:javascript中错误使用var造成undefined(js出错)

下一篇:js+flash实现的5图变换效果广告代码(附演示与demo源码下载)(flash和javascript)

  • 企业自建房产缴契税吗
  • 免抵退税退的是什么税
  • 借款入账会计分录
  • 四种股利分配政策类型
  • 员工午餐费要交个税吗
  • 住房公积金个人和单位各承担多少
  • 外商独资和中外合资的区别
  • 汇算清缴业务招待费调整分录
  • 固定资产明细账怎么填
  • 职工薪酬包括哪三个方面
  • 存货残料收入账务处理?
  • 抬头是别的公司怎么报销
  • 有一个月忘了报税怎么处理
  • 关于固定资产的企业案例
  • 所得税逾期未申报怎么处理
  • 普通发票要纳税吗
  • 高新技术企业所得税税率
  • 预缴企业所得税是含税还是不含税
  • 进口应税消费品所支付的金额不包括
  • 固定资产不动产和动产的区别
  • 应付账款期末余额是负数是什么意思
  • 企业会计准则制度
  • 流动资金借款是一般借款还是专门借款
  • 中介公司代发工资合法吗
  • 法人个人账户收钱算不算公司收钱
  • 如何防御黑客入侵
  • uniapp异常处理
  • 付员工经济补偿金计入工资总额吗
  • lsass.exe是什么进程
  • 鸿蒙系统怎么设置双击亮屏
  • 产权登记在开发商名下怎么过户
  • 股权转让的不仅是权利还有义务
  • 材料短缺计入
  • 印花税的优惠政策和依据
  • 未注册未认证
  • 盈余公积提取和结转
  • 用友软件怎么删除已经建立的账套
  • 延期交房补偿协议
  • 润滑脂开票属于成品油吗
  • node实战
  • 长期待摊费计入哪个科目
  • php array_key_exists() 与 isset() 的区别
  • 销售费用计提分录
  • mysql的union语句
  • 其他业务支出属于利润表项目吗
  • 个税手续费返还计入哪个科目
  • 征地费用会计分录
  • 增值税减免税申报表
  • 专利技术转让损失会计分录
  • 会计报表作用 镜
  • 坏账准备计提方法一经确定不得随意变更这种做法体现了
  • 小规模纳税人购入货物收到增值税专用发票
  • 个人所得税手续费返还政策文件
  • 京东提现一般多久到账
  • 企业大额融资需要什么资料
  • 研发费用占销售的比例
  • ubuntu 手动安装
  • win7桌面库图标怎么删除
  • 让Windows XP、2003、2008自动登录的设置
  • vmware虚拟机关机快捷键
  • win7怎么禁止u盘自动运行
  • 华硕fx80g装系统
  • sqlservr.exe - sqlservr是什么进程 有什么作用
  • svchos1.exe - svchos1是什么教程 有什么作用
  • 查看 linux版本
  • 电脑显示无windows
  • win10事件查看器好多错误
  • js数组entries
  • onclick和onclientclick
  • 下眼角疼痒
  • html+css网页布局
  • 网站检测系统
  • jquery获取当前对象
  • 菜鸟教程jstl
  • android 4.2
  • 水利建设基金的税率
  • 拆迁户契税减免政策文件
  • 重庆税务信息采集如何操作
  • 合格的税务人
  • 注册会计师人员名单
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设