May
30
2016
js urlencode urldecode
// UrlDecode
function UrlDecode(str) {
var ret = "";
for (var i = 0; i < str.length; i++) {
var chr = str.charAt(i);
if (chr == "+") {
ret += " ";
} else if (chr == "%") {
var asc = str.substring(i + 1, i + 3);
if (parseInt("0x" + asc) > 0x7f) {
ret += asc2str(parseInt("0x" + asc + str.substring(i + 4, i + 6)));
i += 5;
} else {
ret += asc2str(parseInt("0x" + asc));
i += 2;
}
} else {
ret += chr;
}
}
return ret;
}
/**
* Url编码
**/
function urlencode (unzipStr) {
var zipstr = "";
var strSpecial = "!\"#$%&'()*+,/:;<=>?[]^`{|}~%";
var tt = "";
for (var i = 0; i < unzipStr.length; i++) {
var chr = unzipStr.charAt(i);
var c = StringToAscii(chr);
tt += chr + ":" + c + "n";
if (parseInt("0x" + c) > 0x7f) {
zipstr += encodeURI(unzipStr.substr(i, 1));
} else {
if (chr == " ")
zipstr += "+";
else if (strSpecial.indexOf(chr) != -1)
zipstr += "%" + c.toString(16);
else
zipstr += chr;
}
}
return zipstr;
}
/**
* Url解码
**/
function urldecode (zipStr) {
var uzipStr = "";
for (var i = 0; i < zipStr.length; i++) {
var chr = zipStr.charAt(i);
if (chr == "+") {
uzipStr += " ";
} else if (chr == "%") {
var asc = zipStr.substring(i + 1, i + 3);
if (parseInt("0x" + asc) > 0x7f) {
uzipStr += decodeURI("%" + asc.toString() + zipStr.substring(i + 3, i + 9).toString());
;
i += 8;
} else {
uzipStr += AsciiToString(parseInt("0x" + asc));
i += 2;
}
} else {
uzipStr += chr;
}
}
return uzipStr;
}
微信扫一扫,打赏作者吧~
最活跃的读者