java实现javascript中的escape和unescape函数
发布时间:2020-12-15 00:11:27 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 /** * java实现javascript中的escape和unescape函数 * 多用于URL编码与解码 */public class EscapeUnescape {public static String escape(String src
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 /** * java实现javascript中的escape和unescape函数 * 多用于URL编码与解码 */ public class EscapeUnescape { public static String escape(String src) { int i; char j; StringBuffer tmp = new StringBuffer(); tmp.ensureCapacity(src.length() * 6); for (i = 0; i < src.length(); i++) { j = src.charAt(i); if (Character.isDigit(j) || Character.isLowerCase(j) || Character.isUpperCase(j)) tmp.append(j); else if (j < 256) { tmp.append("%"); if (j < 16) tmp.append("0"); tmp.append(Integer.toString(j,16)); } else { tmp.append("%u"); tmp.append(Integer.toString(j,16)); } } return tmp.toString(); } 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(); } public static void main(String[] args) { String tmp = "测试!"; System.out.println("编码: " + escape(tmp)); System.out.println("解码: " + unescape(tmp)); } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |