121 项目 014 笔记向 Java中的escape,unescape方法
2017-02-16 00:00
489 查看
package com.laolang.gongda.help.bookstore.address.utils; /** * Created by laolang2016 on 2017/2/16 0016. */ 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(); } /** * @disc 对字符串重新编码 * @param src * @return */ public static String isoToGB(String src) { String strRet = null; try { strRet = new String(src.getBytes("ISO_8859_1"), "GB2312"); } catch (Exception e) { } return strRet; } /** * @disc 对字符串重新编码 * @param src * @return */ public static String isoToUTF(String src) { String strRet = null; try { strRet = new String(src.getBytes("ISO_8859_1"), "UTF-8"); } catch (Exception e) { } return strRet; } }
相关文章推荐
- Java中的escape,unescape方法
- 安卓学习笔记---最全面的使用idea和gradle把java项目打包成jar的方法
- Java的escape和unescape方法
- 一段网上java常见escape和unescape方法的BUG
- 121 项目 030 笔记向 设计模式 模板方法模式
- Java中的escape,unescape方法
- 移动项目开发笔记(Asp.net控件之间的方法的互相调用)
- JavaScript escape/unescape编码的Java实现
- JavaScript escape/unescape编码的Java实现[摘]
- escape()和unescape()函数的使用方法
- [学习笔记]java Enumeration接口方法的学习
- Java 对象的 toString() 方法 -Java 学习笔记 (16)
- Java finalize() 方法 -Java 学习笔记 (18)
- javascript中的escape()和unescape()函数的使用方法
- escape()和unescape()函数的使用方法
- Java学习笔记1------面向对象的思维方法
- Container.paint(Graphics g) 方法 -Java学习笔记(34)
- PHP实现Javascript的escape(),unescape()的方法
- escape()和unescape()函数的使用方法
- NUnit学习笔记4--单元测试和项目结合的几种方法