javascript - 如何在javascript中双重encodeURIComponent?

标签 javascript url character-encoding

在我的网络应用程序中,我使用 mailto 链接打开 Outlook 2007。我还在正文中插入了一个 url。问题是我需要将整个网址作为超链接。如果有任何空格,则超链接会中断,或者即使存在任何特殊字符(例如以右括号结尾),该字符也不会包含在超链接中,因此链接会中断。

我尝试的是在链接上使用encodeURIComponent,该url对其进行编码,但问题是在outlook中,它会自动将其解码回正常状态,然后破坏链接。我需要的是一种对其进行双重编码的方法。

基本上而不是做

"" -> "%20" (<-- encodeURIComponent)

我需要

"" -> "%2520"

因此,在 Outlook 中,%25 被解码为 %,当与 20 组合时,我得到 % 20 保持链接编码一次并且不被破坏。这对我有用,但我只是不知道如何执行此功能。

有谁知道我如何进行双重编码?

谢谢

最佳答案

编码

var encoded=escape(encodeURIComponent(' '));

解码

 var decoded=decodeURIComponent(unescape(encoded));

关于javascript - 如何在javascript中双重encodeURIComponent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18407078/

相关文章:

javascript - 简单的谷歌应用程序脚本 API 调用出现语法错误

javascript - 如何将 URL 参数转换为 JavaScript 对象?

python - 你如何解决 'dict' 对象没有属性 'write' ?

php - 无法用字符串中的 &pound 替换 £

javascript - 如何停止 "preflight has invalid HTTP status code 500"错误?

javascript - 多个与单个脚本标签

mysql匹配url

c# - WebClient.DownloadString 使用了错误的编码

javascript - JavaScript 中的特殊字符无法在网站上正确显示

javascript - jqGrid userData 在 View 中显示值(asp.net mvc3)