/**
* 过滤 “�”格式的特殊字符(过滤范围以下三个范围之外的)
* Unicode中文范围 19968 - 40869
* Unicode数字、字母和部分符号范围 31 - 128
* 标点符号范围 65280 - 65519
* @param str
* @return
* @throws Exception
*/
* 过滤 “�”格式的特殊字符(过滤范围以下三个范围之外的)
* Unicode中文范围 19968 - 40869
* Unicode数字、字母和部分符号范围 31 - 128
* 标点符号范围 65280 - 65519
* @param str
* @return
* @throws Exception
*/
public static String filter(String str) {
if (str == null || str.length() == 0) {
return str;
}
int in;
String st = "";
StringBuffer sb = new StringBuffer();
char[] ch = new char[] {};
ch = str.toCharArray();
for (int i = 0; i < ch.length; i++) {
if (ch[i] != '\0') {
in = String.valueOf(ch[i]).charAt(0);
st = Integer.toHexString(in);
Integer r = Integer.parseInt(st, 16);
if ((31 < r && r <= 128) || (19968 <= r && r <= 40869) || (65280 <= r && r <= 65519)) {
sb.append(ch[i]);
}
}
}
return sb.toString();
}