/**
* 对经过escape函数加密的url中的字符串进行解密
* @return 解密后的正常字符串
* @param src
* 参数说明 例如:%u5339%u914D%u8BBE%u5907或者/u5339/u914D/u8BBE/u5907
*/
public static String unescape(String src) {
StringBuffer tmp = new StringBuffer();
tmp.ensureCapacity(src.length());
int lastPos = 0, pos = 0;
char ch;
while (lastPos < src.length()) {
pos = src.indexOf("%", lastPos);
if (pos == lastPos) {
if (src.charAt(pos + 1) == 'u') {
ch = (char) Integer.parseInt(src.substring(pos + 2, pos + 6), 16);
tmp.append(ch);
lastPos = pos + 6;
}
else {
ch = (char) Integer.parseInt(src.substring(pos + 1, pos + 3), 16);
tmp.append(ch);
lastPos = pos + 3;
}
}
else {
if (pos == -1) {
tmp.append(src.substring(lastPos));
lastPos = src.length();
}
else {
tmp.append(src.substring(lastPos, pos));
lastPos = pos;
}
}
}
return tmp.toString();
}
【上篇】php 中cookie学习 Warning: Cannot modify header information – headers already sent by错误
【下篇】转一篇有关Java的内存泄露的文章(受益哦)
【下篇】转一篇有关Java的内存泄露的文章(受益哦)