java 非法字符过滤 , 半角/全角替换
2014-09-27 14:57
417 查看
java 非法字符过滤 , 半角/全角替换
package mjorcen.netty.test1; import java.io.UnsupportedEncodingException; public class CharByteConverter { /** * 全角转半角 * * @param str * @return * * @author mjorcen * @email mjorcen@gmail.com * @dateTime Sep 27, 2014 2:51:50 PM * @version 1 */ @Deprecated public static final String toSingleByte(String str) { StringBuffer outStrBuf = new StringBuffer(""); String Tstr = ""; byte[] b = null; for (int i = 0; i < str.length(); i++) { Tstr = str.substring(i, i + 1); // 全角空格转换成半角空格 if (Tstr.equals(" ")) { outStrBuf.append(" "); continue; } try { b = Tstr.getBytes("unicode"); // 得到 unicode 字节数据 if (b[2] == -1) { // 表示全角 b[3] = (byte) (b[3] + 32); b[2] = 0; outStrBuf.append(new String(b, "unicode")); } else { outStrBuf.append(Tstr); } } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } // end for. return outStrBuf.toString(); } /** * 半角转全角 * * @param str * @return * * @author mjorcen * @email mjorcen@gmail.com * @dateTime Sep 27, 2014 2:52:06 PM * @version 1 */ @Deprecated public static final String toDoubleByte(String str) { StringBuffer outStrBuf = new StringBuffer(""); String Tstr = ""; byte[] b = null; for (int i = 0; i < str.length(); i++) { Tstr = str.substring(i, i + 1); if (Tstr.equals(" ")) { // 半角空格 outStrBuf.append(Tstr); continue; } try { b = Tstr.getBytes("unicode"); if (b[2] == 0) { // 半角 b[3] = (byte) (b[3] - 32); b[2] = -1; outStrBuf.append(new String(b, "unicode")); } else { outStrBuf.append(Tstr); } return outStrBuf.toString(); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return outStrBuf.toString(); } /** * 半角转全角 * * @param str * @return * * @author mjorcen * @email mjorcen@gmail.com * @dateTime Sep 27, 2014 2:52:31 PM * @version 1 */ public static String ToSBC(String str) { char c[] = str.toCharArray(); for (int i = 0; i < c.length; i++) { if (c[i] == ' ') { c[i] = '\u3000'; } else if (c[i] < '\177') { c[i] = (char) (c[i] + 65248); } } return new String(c); } /** * 全角转半角 * * @param str * @return * * @author mjorcen * @email mjorcen@gmail.com * @dateTime Sep 27, 2014 2:52:50 PM * @version 1 */ public static String ToDBC(String str) { char c[] = str.toCharArray(); for (int i = 0; i < c.length; i++) { if (c[i] == '\u3000') { c[i] = ' '; } else if (c[i] > '\uFF00' && c[i] < '\uFF5F') { c[i] = (char) (c[i] - 65248); } } String returnString = new String(c); return returnString; } public static void main(String[] args) { long l = System.currentTimeMillis(); for (int i = 0; i < 100000; i++) { String str = "814乡道阿斯蒂芬123/.12,412看2家1快2看了就2;看了2叫看来+看来家12考虑就23;了3接口2了2会2,.水电费苦辣时间的2 125123123121209-021~!@#$%^&*()_"; String result = ToDBC(str); ToSBC(result); } System.out.println(System.currentTimeMillis() - l); } }
相关文章推荐
- java全角字符转换为半角 半角转全角
- java 全角字符转半角字符
- java操作字符,java全角转半角
- Utils帮助类(半角转为全角和去除特殊字符或将所有中文标号替换为英文标号)
- javascript中替换表单中的全角字符为半角字符
- java 过滤文本特殊字符 以及单斜杠替换成双斜杠
- java字符全角转半角
- url 中非法字符替换,java 正则替换
- java过滤请求参数中的非法字符,防止XSS攻击、SQL盲注等
- 全角转半角,提取数字,提取英文,提取中文,过滤重复字符,过滤重复字符2
- 华为2013年西安java机试题目:如何过滤掉数组中的非法字符。
- 字符串操作(人民币转成大写/全角字符转半角字符/去掉字符串中重复的子字符串/过滤常见特殊字符/反过滤特殊字符/判断是不是合法手机/字符串匹配的算法)
- java 全角字符转半角
- java 全角字符转半角字符
- Java中字符的全角半角转换
- JAVA正则替换字符串的全角、半角标点符号
- java:全角字符转半角 (II)
- Java工具类——全角半角字符相互转换
- Java 全角字符转半角字符
- java 全角字符转半角