escape()、encodeURI()、encodeURIComponent() 之间的区别

2024-05-06

在 JavaScript 中,它们之间有什么区别?

  1. escape() / unescape()
  2. encodeuri() / decodeuri()
  3. encodeURIComponent() / decodeURIComponent()

对于有视觉头脑的人来说,这里有一个表格显示了以下效果:encodeURI(), encodeURIComponent() and escape()关于常用的符号 ASCII 字符:

Char  encUrI  encURIComp  escape
*     *       *           *
.     .       .           .
_     _       _           _
-     -       -           -
~     ~       ~           %7E
'     '       '           %27
!     !       !           %21
(     (       (           %28
)     )       )           %29
/     /       %2F         /
+     +       %2B         +
@     @       %40         @
?     ?       %3F         %3F
=     =       %3D         %3D
:     :       %3A         %3A
#     #       %23         %23
;     ;       %3B         %3B
,     ,       %2C         %2C
$     $       %24         %24
&     &       %26         %26
      %20     %20         %20
%     %25     %25         %25
^     %5E     %5E         %5E
[     %5B     %5B         %5B
]     %5D     %5D         %5D
{     %7B     %7B         %7B
}     %7D     %7D         %7D
<     %3C     %3C         %3C
>     %3E     %3E         %3E
"     %22     %22         %22
\     %5C     %5C         %5C
|     %7C     %7C         %7C
`     %60     %60         %60

另一个重要的区别是unescape()不处理多字节 UTF-8 序列,而decodeURI[Component]() does:

decodeURIComponent("%C3%A9") == "é"
unescape("%C3%A9") == "é"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

escape()、encodeURI()、encodeURIComponent() 之间的区别 的相关文章

  • 如何在javascript中计算日出和日落?

    我正在使用appcelerator titan开发一个IOS应用程序 我想让我的应用程序在日出和日落时向用户发送本地通知 解决这个问题的一个好工具是使用 YQL 的雅虎天气 但是 雅虎天气仅供非商业用途 我正在尝试找到一个javascrip
  • Javascript树遍历算法

    我需要帮助以深度优先的方式遍历树结构 我无法想出一个算法来正确地做到这一点 我的输入是这样的 A B C 1 2 a b c d 输出应采用以下形式 A 1 a A 1 b A 1 c A 1 d A 2 a A 2 b A 2 c A 2
  • AngularJS 使用 $apply 而不使用 $scope

    我开始使用 AngularJS 并且接受了用它来编写控制器的约定 而不是用 scope 所以我的控制器看起来像这样 myApp controller SomeController function this myModel id 1 nam
  • Google 饼图未显示所有数据行

    我正在尝试绘制人口与国家名称的关系图 我发现 Google 可视化库仅渲染前几个 实际上数字似乎是随机的 具体取决于我使用的数据 有时添加 其他 条目 但它没有t 实际上具有其余条目的值 Example 1 With all countri
  • 来自 DataURL 的 Blob?

    Using FileReader s readAsDataURL 我可以将任意数据转换为数据 URL 有没有办法将数据 URL 转换回Blob使用内置浏览器 API 的实例 用户 Matt 一年前提出了以下代码 如何在javascript中
  • HTML5 服务器端事件:EventSource 与包装的 WebSocket

    HTML5 服务器发送事件 SSE API 是否只是 HTML5 WebSocket 之上的受限制的 基于事件的 API 在我看来 一个EventSource只是一个WebSocket that Cannot send data 使用tex
  • 在 asp.net vb 中通过第一个下拉列表值填充第二个下拉列表

    我在使用 asp net vb 时遇到了一些问题 我想做的是有2个下拉框 第一个下拉菜单将有 1 2 3 例如 第二个下拉菜单将有 A 乙 C 默认情况下 但是 如果选择 1 我希望第二个下拉菜单自动选择 c 我不知道 JavaScript
  • 如何在 Node.js 中让一个 EventEmitter 监听另一个 EventEmitter?

    我想做这样的事情 var events require events var emitterA new events EventEmitter var emitterB new events EventEmitter emitterA ad
  • ngModel.$parsers 忽略 ng-model 值末尾的空格

    我有这样的指令 directive noWhitespace parse function parse return restrict A require ngModel link function scope element attrs
  • 是否可以将反应组件导出为非反应项目中的函数

    有没有办法在非 React 项目中将 React 组件导出为函数并传入 props 作为函数的参数 我最近用 create react app 完成了一个 React 项目 现在我想将它用于其他非 React 项目 纯 Javascript
  • 向对象添加元素

    我需要填充一个 json 文件 现在我有这样的东西 element id 10 quantity 1 我需要添加另一个 元素 我的第一步是使用该 json 将该 json 放入对象类型中cart JSON parse 现在我需要添加新元素
  • 提交前验证表单(比检查空字段更复杂)

    我有一个包含时间输入的表单 具体来说 开放时间和结束时间 当按下提交按钮时 它会转到一个 php 页面 其中这些输入将添加到数据库中 在允许提交表单之前我想检查一些事情 例如 我想确保开始时间早于 小于 结束时间 这是表格 Opens
  • jQuery Blur() 在 Chrome 上不起作用

    我在 MacOSX 上运行这个http jsfiddle net q84wv http jsfiddle net q84wv on Chrome最新版本 它不会工作 在 Firefox 上运行时它工作得很好 有什么线索吗 假设您想要aler
  • ReactJS:从没有 onChange 事件的 props 中选择默认值?

    所以 我只是想知道我是否绝对需要在 React 中的选择组件上有一个 onChange 事件处理程序 我有一个道具传递我想要选择的选项的默认值 如果我有的话 它就没有问题
  • 在 vue.js 模板中包含外部脚本

    我是 Vue js 和 web pack 的新手 所以我决定使用 vue cli webpack 来构建初始应用程序 我试图包含一个外部脚本 例如组件 不需要的模板中 但是 Vue 警告这是不允许的 我的 index html 文件与最初生
  • Javascript 选择 onchange='this.form.submit()'

    我有一个带有选择和一些文本输入的表单 我希望在更改选择时提交表单 使用以下方法可以正常工作 onchange this form submit 但是 如果表单还包含提交按钮 则当选择更改时 表单不会提交 我猜有某种冲突 我在这里有什么选择
  • Meteor.js 登录事件

    因此 我对 Meteor 框架和 JavaScript 总体来说还很陌生 但我正在使用该框架开发一个小项目 以尝试让自己达到标准 基本上我正在开发一个微博客网站 目前 用户可以通过多种服务登录 fb google 等 我通过插入所需 url
  • 为什么我需要 $(document.body) 来使用 Mootools Element 方法扩展 document.body?

    因此 在尝试让我的应用程序在最新的 IE 上运行后 结果发现 IE 不喜欢以下代码 document body getElement className Firefox 和 Chrome 响应良好 但是document bodyIE 上没有
  • 使用 jQuery Tablesorter 操作后如何恢复当前页面?

    我正在使用 tablesorter 但无法找到有关插件 tablesorter 寻呼机的任何文档 问题是我有一个显示一些数据的表 并且在每一行中都有一个删除链接 该链接附加了要删除的元素的唯一标识符 显然 是否可以保存我正在删除的页面 然后
  • 错误:创建 React Native 项目版本 0.59.9 时找不到 template.config.js

    当我尝试创建 React Native 项目版本 0 59 9 时 出现以下错误 错误错误 无法在 react native 模板中找到 var folders zc h93bvpb573q24 5ynvgkn1wc0000gn T rnc

随机推荐

  • Pythonic方式逐行读取文件?

    以下两种方法中逐行读取文件的 Pythonic 方法是什么 with open file r as f for line in f print line or with open file r as f for line in f read
  • Nodejs中的模拟电子邮件功能

    我已经构建了一个邮件程序功能 并试图加强覆盖范围 事实证明 尝试测试它的某些部分很棘手 特别是这个 mailer smtpTransport sendMail var nodemailer require nodemailer var ma
  • App Engine 上的 HTTP 到 HTTPS 重定向灵活

    我已经遵循了这个答案 在谷歌云中从http重定向到https https stackoverflow com questions 37135051 redirect from http to https in google cloud但目前
  • 在命令行上解密使用 PHP openssl_encrypt 制作的文件

    我有一个要加密的字符串 encryptThis Super Secret Text echo openssl encrypt encryptThis aes 128 cbc 1234 FALSE F68A9A229A516752 然后我通过
  • 在电子邮件中设置 html 样式

    我正在为有能力的客户发送 HTML 版本的电子邮件 现在这不是几乎全部吗 我担心的是如何设计它 我使用内联CSS吗 我可以在 html 中包含样式表吗 html 是否以 or 我可以阅读这方面的标准吗 我在造型方面能走多远 我有边框半径 背
  • C++ 中的模块路径到 Java JNI 调用

    当我用 C 创建 Java 8 JVM 时 我通常使用类似以下代码的内容来告诉 JVM 类路径 JavaVMOption options new JavaVMOption 1 JVM invocation options options 0
  • 指向二维数组的指针和手动内存管理 - C

    我认为用纯 C 语言构建一个库来处理各种矩阵计算将是一个很好的挑战 现在 尽管我在 Objective C 和 Cocoa 方面有一些很好的经验 但我对 C 的了解正是我所需要的与 Objective C 一起工作 仅此而已 例如 我熟悉
  • 编译错误:computeFrames 选项不支持 JSR/RET

    当我编译 java 文件时 在 IntelliJ 项目上出现此错误 没有列出特定的源文件 但它失败并出现此错误 删除以下编译器标志可修复该错误 source 1 5 target 1 5 然而 这些需要在那里 因为我们的目标是 Java 5
  • Hibernate vs JPA vs JDO - 各自的优缺点? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我熟悉 ORM 这个概念 几年前我什至在 NET 项目中使用过 nHibernate 然而 我还没有跟上 Java 中 ORM 的主题
  • iOS Objective-C 对象:何时使用release,何时不使用它

    我在 iOS 下 正在使用 delphi Tokyo 进行开发 这是我的代码 aUIImage TUIImage Wrap TUIImage alloc initWithCGImage aCGImageRef try aData TNSDa
  • Hibernate/JPA 在启动时不验证数据库架构

    由于某种原因 hibernate 无法捕获诸如将实体映射到不存在的表之类的问题 我的 persistence xml 文件看起来像这样
  • 通过 adb 将触摸事件发送到设备[重复]

    这个问题在这里已经有答案了 我正在尝试使用以下方式将触摸事件发送到设备adb shell命令 这样我就可以为 UI 测试做一些基本的自动化 我已经关注了之前一些关于此问题的讨论 我确认了获取事件并使用sendevent 为每次触摸发送 6
  • ANSI C,整数到字符串,不带可变参数函数

    我目前正在使用支持 ANSI C 的 PLC 但使用它自己的 GNU 编译器风格 它不编译任何可变参数函数和 itoa 之类的东西 所以使用 sprintf co 不是将整数转换为字符串的选项 任何人都可以引导我到一个列出了健壮的 无 sp
  • NotificationCompact.Builder 和 ActionBarSherlock 的问题

    在下面的代码中 Eclipse发现错误 The method build is undefined for the type NotificationCompat Builder 在添加之前一切正常ActionBarSherlock htt
  • onClick 在 p 标签上无法正常工作

    我想为每个绑定一个点击事件 p 但它似乎不能正常工作 当我运行脚本时 我立即收到三个警报 我只想在单击三个中的任何一个时获得它们 p p s 谁能告诉我我做错了什么 编辑 抱歉 这就是它的样子 HTML 应该是这样的 p p class s
  • Laravel 4 JSON 响应与 Cookie

    如何设置带有 json 响应的 cookie 我注意到 至少对我来说 以下命令是唯一可以设置 cookie 的命令 return Redirect to gt withCookie Cookie make blog cookie value
  • 将 Typescript 项目打包为可执行文件

    如何将 Typescript 项目打包成可执行文件 由于我找了一段时间没有找到 所以我使用了 now 节点来实现上述目的 我正在发布我所做的事情 希望有人会觉得它有用 将Typescript项目编译成node 根据this https me
  • 使用 ABAddressBookRegisterExternalChangeCallback 注册的地址簿更改回调永远不会被调用 (iOS 8)

    我已经找到了很多与此相关的示例 但在阅读整个 ABAddressBook 文档后 我仍然无法弄清楚为什么在我的情况下 我的更改回调没有被调用 我只是设置了一个地址簿并为其注册了一个回调函数 我可以很好地访问地址簿 但无论我在 联系人 应用程
  • Vue 3:“defineProps”引用本地声明的变量

    为什么我收到警告错误消息 defineProps引用本地声明的变量 eslint vue valid define props 当我在 props 中使用自定义验证器时SFC
  • escape()、encodeURI()、encodeURIComponent() 之间的区别

    在 JavaScript 中 它们之间有什么区别 escape unescape encodeuri decodeuri encodeURIComponent decodeURIComponent 对于有视觉头脑的人来说 这里有一个表格显示