最近发现写往cookie里面写值读出来是经过URLEncode过的。所以需要用js解码.所以用js实现了urlencode和urldecode
var littleUrl ={
// public method for url encoding
encode : function (string){
return escape(this._utf8_encode(string));
}
,
// public method for url decoding
decode : function (string){
return this._utf8_decode(unescape(string));
}
,
// private method for UTF-8 encoding
_utf8_encode : function (string){
string = string.replace(/\r\n/g,"\n");
var utftext = "";
for (var n = 0; n < string.length; n++){
var c = string.charCodeAt(n);
if (c < 128){
utftext += String.fromCharCode(c);
}
else
if((c > 127) && (c < 2048)){
utftext += String.fromCharCode((c >> 6) | 192);
utftext += String.fromCharCode((c & 63) | 128);
}
else{
utftext += String.fromCharCode((c >> 12) | 224);
utftext += String.fromCharCode(((c >> 6) & 63) | 128);
utftext += String.fromCharCode((c & 63) | 128);
}
}
return utftext;
}
,
// private method for UTF-8 decoding
_utf8_decode : function (utftext){
var string = "";
var i = 0;
var c = c1 = c2 = 0;
while ( i < utftext.length ){
c = utftext.charCodeAt(i);
if (c < 128){
string += String.fromCharCode(c);
i++;
}
else
if((c > 191) && (c < 224)){
c2 = utftext.charCodeAt(i+1);
string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
i += 2;
}
else{
c2 = utftext.charCodeAt(i+1);
c3 = utftext.charCodeAt(i+2);
string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
i += 3;
}
}
return string;
}
}
分享到:
相关推荐
在深入理解JavaScript实现UrlEncode和UrlDecode函数的过程中,我们需要理解几个关键点:首先,URL编码和解码在Web开发中是一种常见的需求,用于确保URL中的特殊字符被正确传输。其次,JavaScript提供了一些内置的...
这个是 utf-8版本的 js实现 php的 urlencode() 和 urldecode()两个函数的功能。 在传送cookie的时候 在 php端实现 url编码 但要用 js来解码cookie的时候 就出现汉字不能不能识别的问题 这个 js 很好的解决
在IT行业中,`urlEncode` 和 `urlDecode` 是两个非常关键的概念,它们主要用于处理URL(统一资源定位符)中的特殊字符。理解这两个概念对于网页开发、数据传输以及网络编程至关重要。 `urlEncode` 是一个过程,它将...
首先,我们来理解urlencode函数的功能和实现原理。urlencode函数的目的是将字符串进行编码,使得该字符串可以作为URL的参数进行安全传输。它的原理主要是将字符串中的非ASCII字符以及一些特殊字符转换为百分号(%)...
尽管这个JS版本的`UrlEncode`和`UrlDecode`函数能够处理大多数基本的编码和解码需求,但在实际应用中,开发者应考虑使用JavaScript内置的`encodeURIComponent`和`decodeURIComponent`函数,因为它们遵循更严格的编码...
在编程语言中,如JavaScript、Python、Java等,都有内置的函数来实现UrlEncode和UrlDecode的操作,但这些函数通常只适用于单一语言环境。而独立的工具则提供了跨平台、跨语言的解决方案,无论你使用何种技术栈,都...
总结来说,自定义urlencode和urldecode函数可以帮助开发者解决在特定场景下遇到的问题,使得URL编码和解码过程更符合项目的实际需求。通过本文提供的代码实例,我们可以学习如何实现这样的自定义函数,并在自己的...
在Python3中,将中文进行urlencode编码使用函数 urllib.parse.quote(string, safe='/', encoding=None, errors=None) 而将编码后的字符串转为中文,则使用 urllib.parse.unquote(string, encoding='utf-8', errors...
在网站开发过程中,使用汉字传输会导致有时URL会出现乱码的问题,可通过urlencode对中文进行编码,然后再解码,避免出现乱码,此函数加密的字符串可通过php的urldecode进行解码
5. **JS URL Code**:在JavaScript中,处理URL编码与解码的函数是 `encodeURIComponent()` 和 `decodeURIComponent()`。前者用于对URL的组成部分进行编码,而后者则用于解码。它们与Java的 `URLEncoder` 和 `...
`UrlEncode`和`UrlDecode`函数就是用于处理URL字符串的编码和解码过程。在给定的代码中,作者提供了两个自定义的函数:`ShengUtils.encode`和`ShengUtils.decode`,分别实现了这个功能。 `ShengUtils.encode`函数的...
本文将详细探讨JavaScript中的`escape`函数及其C#对应的解码方法`System.Web.HttpUtility.UrlDecode`,同时也会讲解JavaScript中的`escape`、`encodeURI`和`encodeURIComponent`的区别以及它们的解码对应函数。...
最后,文档中的内容还提供了一段JavaScript代码,分别实现了`UrlEncode`和`UrlDecode`两个函数。这两个函数通过遍历字符串,对于URL中的特殊字符进行编码和解码。这些函数特别考虑了字符的ASCII值,并使用十六进制来...
在ASP(Active Server Pages)环境中,可以使用内置的`Server.URLEncode`函数进行URL编码,而解码则可以使用`Server.URLDecode`函数。`Server.URLDecode("编码后的字符串")`会返回解码后的原始字符串。例如,如果有...
相对应地,解码时也有`urldecode`和`rawurldecode`。这种设计可能给开发者带来困扰,因为需要根据实际场景选择合适的编码函数。 解决URL编码问题的关键在于理解各种编码函数的差异,并根据应用需求选择正确的方法。...
这里还提到了两种自定义的解码函数,分别是VBScript的`URLDecode`和JavaScript的`UrlDecode`。虽然它们在网络上有广泛的应用,但是它们可能无法完全处理所有由`encodeURIComponent`产生的编码字符串,因为它们可能不...