mysql过滤非法字符_java 非法字符过滤 , 半角/全角替换

这是一个Java实现的全角半角字符转换工具类,包含全角转半角和半角转全角的方法。同时,讨论了MySQL数据库中过滤非法字符的问题,适用于数据清洗和输入验证场景。
摘要由CSDN通过智能技术生成

packagemjorcen.netty.test1;importjava.io.UnsupportedEncodingException;public classCharByteConverter {/*** 全角转半角

*

*@paramstr

*@return*

*@authormjorcen

* @email mjorcen@gmail.com

* @dateTime Sep 27, 2014 2:51:50 PM

*@version1*/@Deprecatedpublic static finalString 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.

returnoutStrBuf.toString();

}/*** 半角转全角

*

*@paramstr

*@return*

*@authormjorcen

* @email mjorcen@gmail.com

* @dateTime Sep 27, 2014 2:52:06 PM

*@version1*/@Deprecatedpublic static finalString 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);

}returnoutStrBuf.toString();

}catch(UnsupportedEncodingException e) {//TODO Auto-generated catch block

e.printStackTrace();

}

}returnoutStrBuf.toString();

}/*** 半角转全角

*

*@paramstr

*@return*

*@authormjorcen

* @email mjorcen@gmail.com

* @dateTime Sep 27, 2014 2:52:31 PM

*@version1*/

public staticString 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 newString(c);

}/*** 全角转半角

*

*@paramstr

*@return*

*@authormjorcen

* @email mjorcen@gmail.com

* @dateTime Sep 27, 2014 2:52:50 PM

*@version1*/

public staticString 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= newString(c);returnreturnString;

}public static voidmain(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);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值