js中三种URI编码方式比较

JavaScript中的URI和URL的区别及示例代码 要注意的是,URL类在现代浏览器中可用,在较旧的浏览器或服务器端JavaScript环境中可能不支持。它可以是绝对的或相对的,它的语法由一系列的字符组成,用于表示一个资源的位置。URL是URI的一种特定类型,它通过指定资源的位置来提供对资源的访问。URI(Uniform Resource Identifier)和URL(Uniform Resource Locator)是在JavaScript中常用的概念,用于表示和操作网络资源。下面是一些示例代码,演示了URI和URL在JavaScript中的使用。 阅读详情

一、实例比较

数据传递常需要编码后传递,接收还需反编译,定义url:

var url = "https://www.cnblogs.com/?username='小森森'&password='666666'";

escape 与 unescape

console.log(escape(url));// 编码
console.log(unescape(escape(url)));// 解码

结果:

https%3A//www.cnblogs.com/%3Fusername%3D%27%u5C0F%u68EE%u68EE%27%26password%3D%27666666%27

encodeURIComponent 与 decodeURIComponent (推荐)

console.log(encodeURIComponent(url));// 编码
console.log(decodeURIComponent(encodeURIComponent(url)));// 解码

结果:

https%3A%2F%2Fwww.cnblogs.com%2F%3Fusername%3D'%E5%B0%8F%E6%A3%AE%E6%A3%AE'%26password%3D'666666'

encodeURI 与 decodeURI

console.log(encodeURI(url));// 编码
console.log(decodeURI(encodeURI(url)));// 解码

结果:

https://www.cnblogs.com/?username='%E5%B0%8F%E6%A3%AE%E6%A3%AE'&password='666666'

二、区别分析

三种方法都不会对 ASCII 字母、数字和规定的特殊 ASCII 标点符号进行编码,其余都替换为十六进制转义序列.

escape 与 unescape

escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z

对字符串全部进行转义编码,ECMAScript v3 反对使用该方法,对URL编码勿使用此方法

encodeURIComponent 与 decodeURIComponent

encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z

传递参数时需使用encodeURIComponent,组合的url才不会被#等特殊字符截断

encodeURI 与 decodeURI

encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

进行url跳转时可以整体使用encodeURI,如果URI中含分隔符如 ? 和 #,应使用encodeURIComponent

三、结论

推荐使用encodeURIComponent

四、原文链接

js中三种URI编码方式比较

突破NER性能瓶颈:BERT与LLM协同的混合架构实践 性能卓越:在多个测试集上,F1分数比单一模型提升5-15%成本可控:相比纯LLM方案,成本降低60%以上易于落地:架构清晰,便于调试和优化这种"专才+通才"的组合思路可以扩展到其他NLP任务中,如关系抽取、事件提取、文本分类等。更精细的流水线优化多模型投票机制在线学习与自适应调整不追求单一模型的万能,而是通过精心设计的组合,让每个组件发挥其独特优势,最终实现系统性能的最优化。欢迎在评论区分享你在NER任务中的实践经验,或者对这个混合架构的改进建议! 阅读详情

相关推荐

Modem2G/3G/4G/5G:RFFE Driver(射频前端驱动):高通平台GRFC配置方法

文 | GentlemanTsao 文章目录前言1.什么是GRFC2.GRFC的配置流程概览3.msm_sig_info的配置与分析msm_sig_info Table位置:msm_sig_info Table示例:Table元素解读:rfc_msm_sig_info_type结构体signal typemsm_gpio |grfc_num:GPIO到GRFC的映射output_typefunction_select4._sig_cfg的配置与分析_sig_cfg table位置:_sig_cfg tabl

GentelmanTsao的博客 7315

JS之 URL 对象

URL 是互联网的基础设施之一。浏览器提供了一些原生对象,用来管理 URL。 1、URL 的编码和解码 网页的 URL 只能包含合法的字符。合法字符分成两类。 URL 元字符:分号(;),逗号(,),斜杠(/),问号(?),冒号(:),at(@),&,等号(=),加号(+),美元符号($),井号(#) 语义字符:a-z,A-Z,0-9,连词号(-),下划线(_),点(.),感叹号(!),波浪线(~),星号(*),单引号(’),圆括号(()) 除了以上字符,其他字符出现在 URL 之中都必

beeworkshop的博客 4063

保姆级教程:用TIA Portal V17给S7-1200 PLC和HMI做个联调仿真(附抢答器完整项目包)

本文提供了一份详细的TIA Portal V17教程,指导如何实现S7-1200 PLC与HMI的联合仿真开发。通过抢答器项目实例,涵盖从环境搭建、PLC编程到HMI设计的全流程,帮助工程师高效完成工业自动化系统的虚拟调试,显著提升开发效率。

weixin_30417487的博客 630

JS URL对象详细介绍

JavaScript中的URL对象提供了一种方便的方式来操作URL字符串。可以使用URL对象来解析URL、创建新的URL和修改现有的URL。

github_36738403的博客 1001

【HCIE】FRR+BFD+OSPF与BGP联动

FRR+BFD+OSPF与BGP联动

Wenrs的博客 1997

从零开始:在Ubuntu 22.04上配置Isaac Gym Preview 3环境(含常见错误解决方案)

本文提供了在Ubuntu 22.04系统上从零开始配置Isaac Gym Preview 3环境的完整实战指南。内容涵盖NVIDIA驱动安装、Conda环境搭建、CUDA与PyTorch版本精准匹配、Isaac Gym核心安装与验证,并重点介绍了针对四足机器人等复杂系统的强化学习训练环境配置、常见错误解决方案及性能调优技巧,旨在帮助开发者高效部署这一高性能物理仿真平台。

weixin_29048775的博客 392

js uri解码_js转义字符及URI编码基础知识点

js 转义字符及URI编码详解URL中的转义字符当URL的参数中出现诸如+,空格,/,?,%,#,&,=等特殊字符串符号时,因为上述字符有特殊含义,导致服务器端无法正确解析参数,如何处理?解决办法:将这些字符转化成服务器可以识别的字符。如果要在URL中传递特殊符号的原本意义,要对他们进行编码。编码的格式为:%加字符的ASCII码(16进制),例如空格的编码值是"%20"。URL中特殊符号的...

weixin_32816613的博客 1002

详解从无人机倾斜实景三维建模→模型修复→成果网络发布展示分享全流程

1、倾斜实景三维建模软件:CC(Smart3D)软件2、实景三维模型网页在线发布展示、分享平台:图新地球网页端(Wish3D·Earth平台)图新地球网页端(Wish3D·Earth平台)是基于 WebGL技术研发的国产实景三维模型Web端发布展示平台,可实现TB级倾斜实景三维数据快速加载,支持多种格式的三维模型,如OSGB实景模型、OBJ人工模型、SKP人工模型、RVT格式BIM模型等,同时支持模型单体化、三维模型测量分析、水面特效、日照分析等特殊效果呈现,此外也可以根据您的需要进行本地化部署级功能定制。

GISWorld3D的博客 4376

c#先进行uri解码_JavaScript及C#中URI编码详解

JavaScript中编码有三种方法:escape、encodeURI、encodeURIComponentC#中编码主要方法:HttpUtility.UrlEncode、Server.UrlEncode、Uri.EscapeUriString、Uri.EscapeDataStringJavaScript中的还好,只提供了三个,C#中主要用的就有这么多,还没有列出其他编码(HTML),本文就向大家...

weixin_39768917的博客 118

【仿真技巧】Smart Eye Probe在ADS信号仿真中的应用

Smart_Eye_Probe是一个眼探头,允许灵活数量的输入通道,输入通道支持单端或差分信号的混合,并且,可以使用一个共同的时钟信号触发通道的眼图。目前,仅支持瞬态(Transient)和通道(Channel Sim)逐位模式(Bit by bit)模拟,不支持信道统计(Statistical)模式和DDR总线(DDRSim)仿真。

一只豌豆象的博客 1270

鸿蒙应用发布实战:应用热更新的实现

在移动应用开发领域,应用更新是持续交付价值的关键环节。传统的应用更新方式需要用户手动下载完整安装包,不仅用户体验差,而且更新率往往不理想。热更新技术(也称为OTA更新)允许应用在不重新安装的情况下动态更新部分功能,极大提升了用户体验和迭代效率。本文专注于鸿蒙操作系统下的应用热更新实现方案,涵盖从原理到实践的完整知识体系。鸿蒙热更新的技术架构差分更新算法实现动态部署机制实际项目中的最佳实践安全与性能优化策略首先介绍鸿蒙热更新的背景和核心概念深入分析技术原理和算法实现。

操作系统内核探秘的博客 965

c#先进行uri解码_JavaScript及C# URI编码详解

混乱的URI编码JavaScript中编码有三种方法:escape、encodeURI、encodeURIComponentC#中编码主要方法:HttpUtility.UrlEncode、Server.UrlEncode、Uri.EscapeUriString、Uri.EscapeDataStringJavaScript中的还好,只提供了三个,C#中主要用的就有这么多,还没有列出其他编码(HTML...

weixin_39580748的博客 138

Android 14.0 SystemUI状态栏居中显示时间和修改时间显示样式

在14.0的系统rom定制化开发中,在systemui状态栏系统时间默认显示在左边和通知显示在一起,但是客户想修改显示位置,想显示在中间,所以就要修改SystemUI 的Clock.java 文件这个就是管理显示时间的,居中显示的话就得修改布局文件了

安卓兼职framework和app工程师的博客 978

URI和URL的区别以及Javascript编码

本文将简单介绍一下URI和URL之间的区别以及相应的使用场景。同时,我们将介绍一下unicode编码的概念,和对URL的编码混乱问题进行分析,如何通过Javascript等相关技术来解决编码统一的问题。主要用于知识点记录收集和学习markdown文件书写之用。 URI和URL基本概念URI和URL之间的区别,我之前一个博客中稍微了解了一下(@Just Happy)。 URI,是uniform re

Tony's Notes 1043

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

从此不再惧怕URI编码:JavaScript及C# URI编码详解

混乱的URI编码   JavaScript中编码有三种方法:escape、encodeURI、encodeURIComponent   C#中编码主要方法:HttpUtility.UrlEncode、Server.UrlEncode、Uri.EscapeUriString、Uri.EscapeDataString   JavaScript中的还好,只提供了三个,C#中主要用的就有这么多,还没...

weixin_33778778的博客 175

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

JavaScript 中URL编码方式

JavaScript 中URL编码方式 其实url编码就是一个字符ascii码的十六进制。不过稍微有些变动,需要在前面加上“%”。比如“\”,它的ascii码是92,92的十六进制是5c,所以“\”的url编码就是%5c。 Javascript存在几种url字符串的编码方式:escape(),encodeURI(),以及encodeURIComponent()。这几种编码方式所起的作用各不相同。 ...

weixin_42371145的博客 900

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

JavaScript及C# URI编码 详解

JavaScript中编码有三种方法:escape、encodeURI、encodeURIComponent   C#中编码主要方法:HttpUtility.UrlEncode、HttpUtility.UrlPathEncode、Server.UrlEncode、HttpUtility.UrlEncode、Uri.EscapeUriString、Uri.EscapeDataStri...

127

JS魔法堂:Data URI Scheme介绍

一、前言 上周五公司内部的Any Topic Conf.上我和同事们分享了这个主题,有同事说这个有用,有同事说这个没啥用,后来还延伸到网站性能的话题上,大家讨论的激烈程度让我觉得这次选题还不错。本篇先不管到底有用与否,仅仅记录理论知识。也希望大家一起来分享实战经验啊! 二、从HTTP URI Scheme入手 对于 HTTP URI Scheme 我想大家都应该很熟悉了,href属性值http://github.com就是HTTP URI Scheme,那么什么是DATA URI Scheme呢?其实就是形

极客神殿 988

JS中三种编码方式(escape,encodeURI,encodeURIComponent)

一 参考书 1 js编码[url]http://blog.youkuaiyun.com/cnartstorm/archive/2009/06/23/4292460.aspx[/url] 2 js 解决中文乱码函数-js中escape,encodeURI,encodeURIComponent三个函数的区别 [url]http://blog.youkuaiyun.com/renhui15688/archive/2...

咫尺天涯 596

编码方式的一些总结

先从python和js切入吧一、基础编码   编码问题通常是字符串的编码问题,字符要以数字的形式保存传输。字符的表达形式包括byte(8bit)和str,它们之间就是编码问题。byte方便储存和传输,但str才是人常用的查 看操作的对象。  1、ASCII     最早的也是最基础的,但大小是以一byte(8bit)作为单位,也即是最大255.表达英文符号和标点是足够了,但是中文、日文等其他国家...

weixin_30940783的博客 253

js编码方式

  三种编解码方式 js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1、   传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。                           例如...

wxn_yxm 252

JavaScript及C# URI编码详解

混乱的URI编码 JavaScript中编码有三种方法:escape、encodeURI、encodeURIComponent C#中编码主要方法:HttpUtility.UrlEncode、Server.UrlEncode、Uri.EscapeUriString、Uri.EscapeDataString JavaScript中的还好,只提供了三个,C#中主要用的就有这么多,还没有列出其他编

秋枫苦雪 blog 679

Silvaco TCAD仿真PIN与APD光电探测器:从结构设计到性能优化

半导体光电探测器仿真基于TCAD工具,通过求解漂移扩散方程和碰撞电离模型,在计算机上预测器件电学与光学特性。其技术价值在于将流片试错成本从数十万元降至数十分钟仿真,广泛应用于光通信、激光雷达和成像传感。针对PIN和APD这类对结构参数极度敏感的器件,利用Silvaco TCAD进行网格划分、物理模型校准和参数扫描,可系统优化暗电流、响应度、击穿电压与增益带宽积,实现从结构设计到性能验证的完整闭环。

weixin_34218890的博客 341

js 编码方式详解

URL编码转换,escape() encodeURI() encodeURIComponent()escape() 方法:采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。unescape方法与此相反。不会被此方法编码的字符: @ * / +英文解释:MSDN JScript Reference: The escape method

winter_leaf_wei的专栏 1141

js 乱码 反斜杠_js 转义字符及URI编码详解

URL中的转义字符当URL的参数中出现诸如+,空格,/,?,%,#,&,=等特殊字符串符号时,因为上述字符有特殊含义,导致服务器端无法正确解析参数,如何处理?解决办法:将这些字符转化成服务器可以识别的字符。如果要在URL中传递特殊符号的原本意义,要对他们进行编码。编码的格式为:%加字符的ASCII码(16进制),例如空格的编码值是"%20"。URL中特殊符号的用途及普通意义的编码+URL ...

weixin_39531761的博客 2251
上一篇: 前端使用a标签下载非同源文件(备选方案)
下一篇: 浏览器原生支持JS Base64编码解码
开源分享汇
博客等级 码龄9年 1005粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开源分享汇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值