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; }
最活跃的读者