1 function urlEncode(str)
2 {
3 var ret = "";
4 var strSpecial = "!\"#$%&’()*+,/:;<=>?[]^`{|}~%";
5 var tt = "";
6 for(var i = 0; i < str.length; i++)
7 {
8 var chr = str.charAt(i);
9 var c = str2asc(chr);
10 tt += chr + ":" + c + "n";
11 if (parseInt("0x" + c) > 0x7f)
12 {
13 ret += "%" + c.slice(0,2) + "%" + c.slice(-2);
14 }
15 else
16 {
17 if (chr == " ")
18 ret += "+";
19 else if (strSpecial.indexOf(chr) != -1)
20 ret += "%" + c.toString(16);
21 else
22 ret += chr;
23 }
24 }
25
26 return ret;
27 }
28
29 function urlDecode(str)
30 {
31 var ret = "";
32 for (var i = 0; i < str.length; i++)
33 {
34 var chr = str.charAt(i);
35 if (chr == "+")
36 {
37 ret += " ";
38 }
39 else if (chr == "%")
40 {
41 var asc = str.substring(i+1, i+3);
42 if (parseInt("0x"+asc) > 0x7f)
43 {
44 ret += asc2str(parseInt("0x" + asc+str.substring(i+4, i+6)));
45 i += 5;
46 }
47 else
48 {
49 ret += asc2str(parseInt("0x"+asc));
50 i += 2;
51 }
52 }
53 else
54 {
55 ret += chr;
56 }
57 }
58
59 return ret;
60 }