在获取文本的时候,经常遇到数据格式的问题,需要判断或转换。
本文旨在解决全角符号转换为半角符号的问题。
网上大体有两种方法:转换编码或者替换。
我使用的是转换编码,引用自:http://blog.csdn.net/dpuser/archive/2005/10/19/509146.aspx
string checkStr="123456"; //判断是否包含全角字符[1] if(checkStr.length() != checkStr.getBytes().length){ //添加处理.... } //判断是否包含全角字符[2] if(!checkStr.equals("")&&!isEnna(checkStr)){ //添加处理.... } //判断是否半角 private boolean isEnna(String p) { int length = p.length(); boolean b = true; ; for (int i = 0; i < length; i++) { char c = p.charAt(i); if (c > 255) { b = false; break; } } return b; } //全角转半角 private static final String QBchange(String QJstr) { String outStr=""; String Tstr=""; byte[] b=null; for(int i=0;i<QJstr.length();i++) { try { Tstr=QJstr.substring(i,i+1); b=Tstr.getBytes("unicode"); } catch(java.io.UnsupportedEncodingException e) { e.printStackTrace(); } if (b[3]==-1) { b[2]=(byte)(b[2]+32); b[3]=0; try { outStr=outStr+new String(b,"unicode"); } catch(java.io.UnsupportedEncodingException e) { e.printStackTrace(); } }else outStr=outStr+Tstr; } return outStr; }
不知道以上方法有没有漏洞,欢迎指教!
如果是半角“\”转换为全角“¥”就报错了,这个问题怎么解决,而且如果是日文的半角全角转换就不行了,例如:????->????
发表评论
相关文章
国内AI资源汇总,AI聊天、AI绘画、AI写作、AI视频、AI设计、AI编程、AI音乐等,国内顺畅访问,无需科学上网。
扫码或点击进入:萤火AI大全
文章分类
最新评论