Java 全角字符转半角字符

1.java代码里有时候会遇到代码注入的安全问题,为了防止这种问题,增加了一个过滤功能。主要是过滤全角字符,把url不能识别的全角字符转换成半角字符

 1 public class Test {
 2     public static void main(String[] args) {
 3         String t="■ ■ffac●●△※○○☆№ccc";
 4         System.out.println(t);
 5         System.out.println(toSemiangle(t));
 6     }
 7     
 8     /**
 9      * 全角空格为12288,半角空格为32
10      * 其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
11      * 
12      * 将字符串中的全角字符转为半角
13      * @param src 要转换的包含全角的任意字符串
14      * @return  转换之后的字符串
15      */
16     public static String toSemiangle(String src) {
17         char[] c = src.toCharArray();
18         for (int index = 0; index < c.length; index++) {
19             if (c[index] == 12288) {// 全角空格
20                 c[index] = (char) 32;
21             } else if (c[index] > 65280 && c[index] < 65375) {// 其他全角字符
22                 c[index] = (char) (c[index] - 65248);
23             }
24         }
25         return String.valueOf(c);
26     }
27 }

输出结果:

■ ■ffac●●△※○○☆№ccc
■ ■ffac●●△※○○☆№ccc

posted @ 2016-05-04 17:59  魔流剑  阅读(3993)  评论(0编辑  收藏  举报