Decode/encode
Ver oder entschlüßeln von url Parametern
mit Javascript
|
Script: |
var Url = {
// 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;
}
}
|
|