如何在JavaScript中加倍encodeURIComponent?

时间:2013-08-23 15:56:30

标签: javascript url character-encoding

在我的网络应用程序中,我使用mailto链接打开outlook 2007.我还在主体中插入了一个URL。问题是我需要整个网址是一个超链接。如果有任何空格,那么超链接会中断,或者即使有任何特殊字符,如果它以一个紧密的括号结尾,该字符也不会包含在超链接中,因此链接会中断。

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

基本上不是做

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

我需要

" " - > "%2520"

因此,在展望中,%25会被解码为%,当与20结合使用时,我会%20保持链接编码一次而不会被破坏。这对我有用,但我只是不知道如何做这个功能。

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

由于

1 个答案:

答案 0 :(得分:4)

编码

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

解码

 var decoded=decodeURIComponent(unescape(encoded));