【问题标题】:How to double encodeURIComponent in javascript?如何在javascript中加倍encodeURIComponent?
【发布时间】:2013-08-23 15:56:30
【问题描述】:

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

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

基本上不用做

" " -> "%20" (encodeURIComponent)

我需要

" " -> "%2520"

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

有谁知道我怎么做这种双重编码?

谢谢

【问题讨论】:

    标签: javascript url character-encoding


    【解决方案1】:

    编码

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

    解码

     var decoded=decodeURIComponent(unescape(encoded));
    

    【讨论】:

    • 当我尝试这个时,它最终没有编码),它被保留为普通文本而不是超链接的一部分。
    猜你喜欢
    • 1970-01-01
    • 2012-04-10
    • 1970-01-01
    • 1970-01-01
    • 2020-11-10
    • 2013-09-21
    • 1970-01-01
    • 2014-10-04
    • 1970-01-01
    相关资源
    最近更新 更多