//类似于asp中htmlencode函数的jsp函数
public static String HTMLEncode(String text) {
if (text == null)
return "";
StringBuffer results = null;
char[] orig = null;
int beg = 0, len = text.length();
for (int i = 0; i < len; ++i) {
char c = text.charAt(i);
switch (c) {
case 0:
case '&':
case '
case '>':
case '"':
if (results == null) {
orig = text.toCharArray();
results = new StringBuffer(len + 10);
}
if (i > beg)
results.append(orig, beg, i - beg);
beg = i + 1;
switch (c) {
default: // case 0:
continue;
case '&':
results.append("&");
break;
case '
results.append("
break;
case '>':
results.append(">");
break;
case '"':
results.append("/"");
break;
}
break;
}
}
if (results == null)
return text;
results.append(orig, beg, len - beg);
return results.toString();
}
//类似于asp中urlencode函数的jsp函数
public static String URLEncode(String text) {
StringBuffer StrUrl = new StringBuffer();
for (int i = 0; i < text.length(); ++i) {
switch (text.charAt(i)) {
case ' ':
StrUrl.append("%20");
break;
case '+':
StrUrl.append("%2b");
break;
case '/'':
StrUrl.append("%27");
break;
case '/':
StrUrl.append("%2F");
break;
case '.':
StrUrl.append("%2E");
break;
case '
StrUrl.append("%3c");
break;
case '>':
StrUrl.append("%3e");
break;
case '#':
StrUrl.append("%23");
break;
case '%':
StrUrl.append("%25");
break;
case '&':
StrUrl.append("%26");
break;
case '{':
StrUrl.append("%7b");
break;
case '}':
StrUrl.append("%7d");
break;
case '//':
StrUrl.append("%5c");
break;
case '^':
StrUrl.append("%5e");
break;
case '~':
StrUrl.append("%73");
break;
case '[':
StrUrl.append("%5b");
break;
case ']':
StrUrl.append("%5d");
break;
default:
StrUrl.append(text.charAt(i));
break;
}
}
return StrUrl.toString();
}
用现成的函数即可:
java.net.URLEncoder.encode()
java.net.URLDecoder.decode()