位置: 编程技术 - 正文

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)

  • 增值税不交什么后果
  • 为临时工购买礼物怎么说
  • 单位承担的社保费用计入什么科目
  • 培训费发票开具的要求
  • 营业执照类型有限责任公司
  • 用excel怎么制作思维导图
  • 税务房屋租赁发票图片
  • 客户给现金
  • 企业所得税计提分录怎么写
  • 一般纳税人简易征收范围
  • 购入材料的应付账款包括商业折扣吗
  • 增值税可以提前申报不?
  • 应收账款坏账收回会计处理
  • BT模式建设项目怎么处理税收?
  • 小规模通行费发票可以抵扣吗
  • 员工付款的手续费怎么算
  • 个税汇算清缴包含退休金吗
  • 新手应该怎么样
  • windows11邮件
  • 私立医院执行什么会计准则
  • linux系统中怎么创建目录
  • 如何找装修公司
  • 收到外单位委托办事的资金应该计入
  • phpstorm 断点
  • 抵债资产的账务处理
  • 工业企业的费用
  • 原材料的盘盈与盘亏的会计处理
  • php框架零基础入门
  • 详解php实现页面跳转
  • php实现上传文件
  • php读取文件内容
  • 快速上手:华硕路由器的wireguard服务器
  • c++如何给指针赋值
  • 视觉slam有多难
  • 服务型制造收入
  • 应收利息的会计处理方法
  • 固定资产一次性折旧账务处理
  • 总公司签协议,分公司开票,报账怎样写说明
  • 小规模纳税人现代服务税率
  • 边际贡献分析法案例
  • 三项经费要包括哪三项
  • 基础电信服务和增值电信服务税率
  • mysql 执行动态语句
  • 小规模增值税纳税人优惠政策
  • 暂估和冲暂估分录
  • 小规模企业其他增值税发票不含税销售额是灰色的
  • 超市购销和联营哪个好
  • 会计做账的原始凭证有哪些
  • 餐饮无票收入怎么做账
  • 工会经费网上怎么申报
  • 资金账簿印花税减半政策
  • 合同权利义务包含债务吗
  • 物流托运不给发货
  • 施工企业应收账款周转率多少合适
  • 建账内容
  • MySQL 5.6 中TIMESTAMP with implicit DEFAULT value is deprecated错误
  • mac怎么保存网页到桌面
  • linux ifcon
  • windows2008
  • mac和iphone互动
  • win7屏幕颜色变了怎么恢复
  • win8如何打开任务管理器
  • winbox app
  • Android游戏开发入门
  • android ui绘制
  • [置顶]JM259194
  • unity如何操作
  • js中密码由字母和数字组成,长度为4-20
  • 可重复进行编程的可编程器件有 ( )
  • web标准网页布局的背景
  • 关于Python的lambda函数,以下选项
  • jquery正则表达式的用法
  • jquery获取自定义标签的值
  • javascript的基本规范
  • 河北省网上税务局电子税务局
  • 国税账户密码在哪里能找到
  • 广东国税局局长是谁
  • 免除滞纳金的条件
  • 自助办税服务厅怎么用
  • 预到船舶是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设